{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import os\n",
    "os.chdir(\"..\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "from deepsvg.svglib.geom import Point, Angle\n",
    "from deepsvg.svglib.svg import SVG\n",
    "from deepsvg.svglib.utils import make_grid"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# SVGLib walk-through"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Loading & displaying"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "dolphin = SVG.load_svg(\"docs/imgs/dolphin.svg\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"200px\" viewBox=\"0.0 0.0 294.8680114746094 294.8680114746094\" width=\"200px\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M284.3949890136719 115.12999725341797 C280.5419921875 119.21499633789062 274.864990234375 119.21499633789062 272.9989929199219 119.21499633789062 C269.53900146484375 119.21499633789062 265.260986328125 118.64199829101562 259.1309814453125 117.35599517822266 C254.31597900390625 116.34599304199219 250.16998291015625 115.33899688720703 246.51397705078125 114.45199584960938 C239.3219757080078 112.70499420166016 234.1239776611328 111.4419937133789 229.23097229003906 111.4419937133789 C226.4729766845703 111.4419937133789 221.44097900390625 112.63699340820312 216.11196899414062 113.90299224853516 C207.81497192382812 115.87399291992188 197.48997497558594 118.32598876953125 187.5029754638672 118.32598876953125 C177.41998291015625 118.32598876953125 166.80697631835938 117.5419921875 160.11997985839844 116.9369888305664 C157.89898681640625 125.26298522949219 152.61497497558594 138.99298095703125 140.6209716796875 148.82098388671875 C124.31397247314453 162.1809844970703 112.22396850585938 168.1409912109375 111.71697235107422 168.3879852294922 C108.6199722290039 169.89797973632812 104.8959732055664 169.1069793701172 102.68296813964844 166.4659881591797 C100.469970703125 163.82699584960938 100.33796691894531 160.02098083496094 102.36396789550781 157.23599243164062 C102.43096923828125 157.1409912109375 110.58097076416016 145.6199951171875 110.2679672241211 132.6719970703125 C110.14396667480469 127.52099609375 109.95697021484375 123.48500061035156 109.7659683227539 120.41099548339844 C99.60897064208984 123.40499877929688 82.31497192382812 130.09799194335938 73.39396667480469 142.69699096679688 C59.880001068115234 161.77999877929688 54.33599853515625 191.16000366210938 55.82099914550781 200.79800415039062 C57.367000579833984 210.83999633789062 57.551998138427734 210.83999633789062 62.31699752807617 210.83999633789062 C72.6989974975586 210.83999633789062 81.4209976196289 211.26499938964844 91.2449951171875 216.6129913330078 C99.93499755859375 221.3419952392578 104.72099304199219 226.5159912109375 105.23699188232422 227.0909881591797 C107.18598937988281 229.2559814453125 107.70499420166016 232.35398864746094 106.5679931640625 235.0349884033203 C105.43099212646484 237.71798706054688 102.843994140625 239.49899291992188 99.93299102783203 239.6029815673828 C97.12499237060547 239.70797729492188 88.62799072265625 240.41598510742188 83.1669921875 242.39797973632812 C80.2669906616211 243.4509735107422 77.76898956298828 244.6829833984375 75.35298919677734 245.87498474121094 C71.48799133300781 247.781982421875 67.83699035644531 249.58297729492188 63.57798767089844 250.0859832763672 C62.192989349365234 250.24998474121094 60.77098846435547 250.32998657226562 59.42498779296875 250.3049774169922 C57.85498809814453 253.9519805908203 55.182987213134766 258.2989807128906 50.688987731933594 261.74798583984375 C47.24898910522461 264.38897705078125 43.74898910522461 266.0179748535156 40.660987854003906 267.4539794921875 C36.868988037109375 269.218994140625 33.87298583984375 270.61297607421875 31.572986602783203 273.4649658203125 C25.544986724853516 280.9399719238281 23.521987915039062 289.0449523925781 23.502986907958984 289.1259765625 C22.71498680114746 292.36297607421875 19.8809871673584 294.708984375 16.55298614501953 294.8599853515625 C16.437986373901367 294.8659973144531 16.321985244750977 294.86798095703125 16.206985473632812 294.86798095703125 C13.015985488891602 294.86798095703125 10.152985572814941 292.8559875488281 9.11198616027832 289.8119812011719 C8.642986297607422 288.4449768066406 4.689986228942871 275.9159851074219 9.9509859085083 257.57696533203125 C11.831985473632812 251.02096557617188 14.745985984802246 245.34596252441406 17.562986373901367 239.85595703125 C22.14698600769043 230.9269561767578 26.105987548828125 223.21595764160156 24.44498634338379 213.76695251464844 C16.636985778808594 169.35595703125 17.175987243652344 133.24594116210938 26.04598617553711 106.44395446777344 C39.8380012512207 64.76000213623047 73.22599792480469 41.53499984741211 79.77899932861328 37.30400085449219 C83.02999877929688 35.202999114990234 85.95600128173828 33.35499954223633 88.4219970703125 31.819000244140625 C86.13499450683594 29.996999740600586 83.22799682617188 28.08300018310547 79.7719955444336 26.61400032043457 C71.90599822998047 23.270000457763672 68.5999984741211 22.356000900268555 67.68399810791016 22.13800048828125 C67.625 22.14000129699707 67.56800079345703 22.14000129699707 67.51100158691406 22.14000129699707 C64.24600219726562 22.141000747680664 61.736000061035156 19.985000610351562 60.781002044677734 16.801000595092773 C59.78900146484375 13.495000839233398 61.63200378417969 9.946001052856445 64.6030044555664 8.191000938415527 C65.16799926757812 7.855999946594238 78.68099975585938 0.0 96.48999786376953 0.0 C100.16500091552734 0.0 103.81599426269531 0.3370000123977661 107.34099578857422 1.0019999742507935 C118.3239974975586 3.0749998092651367 126.08599853515625 6.171999931335449 133.5919952392578 9.165999412536621 C140.92098999023438 12.089999198913574 147.843994140625 14.851999282836914 158.17999267578125 17.02899932861328 C163.20098876953125 18.086999893188477 167.8249969482422 18.902999877929688 172.29598999023438 19.6929988861084 C187.67898559570312 22.408998489379883 200.9639892578125 24.7549991607666 220.82699584960938 34.89799880981445 C246.75099182128906 48.13800048828125 261.3280029296875 62.624000549316406 261.8739929199219 75.68499755859375 C261.9889831542969 78.43799591064453 261.9289855957031 80.89799499511719 261.6929931640625 83.05999755859375 C264.1189880371094 84.27299499511719 267.0669860839844 85.80599975585938 270.04498291015625 87.5 C282.16796875 94.3949966430664 287.2519836425781 99.55899810791016 287.5909729003906 105.3219985961914 C287.82598876953125 109.33200073242188 286.7510070800781 112.63099670410156 284.3949890136719 115.12999725341797 Z\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/></svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "dolphin.draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For proper displaying, SVGlib expects SVGs to be drawn in a normalized viewbox of size 24x24. Stroke-width will appear to thin if a larger viewbox is used and too thick if the viewbox is too small."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Bbox(0.0 0.0 294.8680114746094 294.8680114746094)\n"
     ]
    }
   ],
   "source": [
    "print(dolphin.viewbox)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You can **normalize** an SVG with the `normalize` method which will properly scale the points to fit a 24x24 window."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Bbox(0.0 0.0 24.0 24.0)\n"
     ]
    },
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"200px\" viewBox=\"0.0 0.0 24.0 24.0\" width=\"200px\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M23.14757537841797 9.37070083618164 C22.833972930908203 9.7031888961792 22.371906280517578 9.7031888961792 22.220027923583984 9.7031888961792 C21.938411712646484 9.7031888961792 21.590213775634766 9.656551361083984 21.091278076171875 9.5518798828125 C20.69937515258789 9.469673156738281 20.361923217773438 9.387711524963379 20.064350128173828 9.315516471862793 C19.47897720336914 9.173324584960938 19.05590057373047 9.070526123046875 18.65764617919922 9.070526123046875 C18.43316650390625 9.070526123046875 18.023601531982422 9.167789459228516 17.589860916137695 9.270832061767578 C16.914548873901367 9.431256294250488 16.074172973632812 9.630829811096191 15.261307716369629 9.630829811096191 C14.440629005432129 9.630829811096191 13.576811790466309 9.567018508911133 13.032541275024414 9.517776489257812 C12.85176944732666 10.195448875427246 12.421690940856934 11.312965393066406 11.445470809936523 12.112889289855957 C10.118206024169922 13.200291633605957 9.134172439575195 13.68539047241211 9.092906951904297 13.705493927001953 C8.840834617614746 13.82839584350586 8.537729263305664 13.76401424407959 8.3576078414917 13.549057960510254 C8.177486419677734 13.334263801574707 8.166742324829102 13.024483680725098 8.331644058227539 12.797806739807129 C8.33709716796875 12.790074348449707 9.000444412231445 11.8523530960083 8.974968910217285 10.79848575592041 C8.964876174926758 10.379233360290527 8.949655532836914 10.050734519958496 8.934109687805176 9.800533294677734 C8.10740852355957 10.044222831726074 6.6998090744018555 10.588981628417969 5.97370719909668 11.614442825317383 C4.873774528503418 13.167654037475586 4.422534465789795 15.558961868286133 4.543402194976807 16.343421936035156 C4.6692352294921875 17.160762786865234 4.684292793273926 17.160762786865234 5.072127342224121 17.160762786865234 C5.917142391204834 17.160762786865234 6.62704610824585 17.195354461669922 7.426644325256348 17.630640029907227 C8.133944511413574 18.015544891357422 8.523487091064453 18.436668395996094 8.565485954284668 18.483469009399414 C8.724119186401367 18.659683227539062 8.766362190246582 18.911836624145508 8.673819541931152 19.130050659179688 C8.581275939941406 19.348424911499023 8.37071418762207 19.493385314941406 8.133781433105469 19.501850128173828 C7.905231475830078 19.510395050048828 7.213640213012695 19.568021774291992 6.7691569328308105 19.729341506958008 C6.533118724822998 19.815046310424805 6.329800605773926 19.91532325744629 6.133156776428223 20.01234245300293 C5.818575382232666 20.167556762695312 5.521411895751953 20.314144134521484 5.174761772155762 20.355085372924805 C5.062033653259277 20.36843490600586 4.946293354034424 20.37494659423828 4.836739540100098 20.372909545898438 C4.708953380584717 20.669748306274414 4.4914727210998535 21.0235595703125 4.125695705413818 21.304283142089844 C3.8457069396972656 21.51923942565918 3.560832977294922 21.65182876586914 3.309493064880371 21.768707275390625 C3.0008535385131836 21.912364959716797 2.7570018768310547 22.02582550048828 2.5697994232177734 22.25795555114746 C2.0791664123535156 22.866363525390625 1.9145097732543945 23.526046752929688 1.9129638671875 23.532642364501953 C1.8488264083862305 23.79610824584961 1.6181602478027344 23.987056732177734 1.3472871780395508 23.999347686767578 C1.3379268646240234 23.999835968017578 1.3284854888916016 23.999996185302734 1.3191251754760742 23.999996185302734 C1.0594024658203125 23.999996185302734 0.8263750076293945 23.83623695373535 0.7416458129882812 23.588478088378906 C0.7034730911254883 23.477214813232422 0.3817291259765625 22.45745086669922 0.8099346160888672 20.964794158935547 C0.9630336761474609 20.43118667602539 1.2002105712890625 19.969284057617188 1.4294929504394531 19.52243995666504 C1.8025951385498047 18.795686721801758 2.1248273849487305 18.168071746826172 1.9896345138549805 17.39899444580078 C1.3541231155395508 13.784278869628906 1.3979930877685547 10.845199584960938 2.1199445724487305 8.66372299194336 C3.2425079345703125 5.270968914031982 5.960035800933838 3.380631446838379 6.4934000968933105 3.0362606048583984 C6.758006572723389 2.865255355834961 6.996160984039307 2.714841842651367 7.196874141693115 2.5898237228393555 C7.010729789733887 2.441526412963867 6.77412223815918 2.2857418060302734 6.492830276489258 2.1661758422851562 C5.852598190307617 1.8940000534057617 5.583515167236328 1.8196077346801758 5.508959770202637 1.801863670349121 C5.504157543182373 1.8020267486572266 5.499518394470215 1.8020267486572266 5.494879245758057 1.8020267486572266 C5.229133129119873 1.802107810974121 5.024837970733643 1.6266260147094727 4.947108745574951 1.3674726486206055 C4.866367340087891 1.0983896255493164 5.016373634338379 0.8095283508300781 5.258190155029297 0.6666841506958008 C5.3041768074035645 0.6394186019897461 6.404031276702881 0.0 7.8535475730896 0.0 C8.152664184570312 0.0 8.449827194213867 0.027429580688476562 8.736736297607422 0.08155536651611328 C9.630668640136719 0.25028133392333984 10.262435913085938 0.5023536682128906 10.873366355895996 0.7460422515869141 C11.469890594482422 0.9840335845947266 12.033370018005371 1.2088394165039062 12.874641418457031 1.386031150817871 C13.28331184387207 1.4721441268920898 13.65967082977295 1.538559913635254 14.023574829101562 1.6028594970703125 C15.275632858276367 1.8239212036132812 16.356931686401367 2.0148677825927734 17.9736270904541 2.84043025970459 C20.083642959594727 3.918065071105957 21.270099639892578 5.097114562988281 21.314538955688477 6.160179615020752 C21.323898315429688 6.384252548217773 21.319015502929688 6.58447790145874 21.299808502197266 6.760448455810547 C21.497264862060547 6.859177112579346 21.73720932006836 6.983952045440674 21.979595184326172 7.121830463409424 C22.966312408447266 7.683030605316162 23.38011360168457 8.103340148925781 23.407703399658203 8.572404861450195 C23.426834106445312 8.898788452148438 23.339338302612305 9.167301177978516 23.14757537841797 9.37070083618164 Z\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/></svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "dolphin.normalize()\n",
    "print(dolphin.viewbox)\n",
    "dolphin.draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The `with_points` option lets you display the individual points of the path:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"200px\" viewBox=\"0.0 0.0 24.0 24.0\" width=\"200px\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M23.14757537841797 9.37070083618164 C22.833972930908203 9.7031888961792 22.371906280517578 9.7031888961792 22.220027923583984 9.7031888961792 C21.938411712646484 9.7031888961792 21.590213775634766 9.656551361083984 21.091278076171875 9.5518798828125 C20.69937515258789 9.469673156738281 20.361923217773438 9.387711524963379 20.064350128173828 9.315516471862793 C19.47897720336914 9.173324584960938 19.05590057373047 9.070526123046875 18.65764617919922 9.070526123046875 C18.43316650390625 9.070526123046875 18.023601531982422 9.167789459228516 17.589860916137695 9.270832061767578 C16.914548873901367 9.431256294250488 16.074172973632812 9.630829811096191 15.261307716369629 9.630829811096191 C14.440629005432129 9.630829811096191 13.576811790466309 9.567018508911133 13.032541275024414 9.517776489257812 C12.85176944732666 10.195448875427246 12.421690940856934 11.312965393066406 11.445470809936523 12.112889289855957 C10.118206024169922 13.200291633605957 9.134172439575195 13.68539047241211 9.092906951904297 13.705493927001953 C8.840834617614746 13.82839584350586 8.537729263305664 13.76401424407959 8.3576078414917 13.549057960510254 C8.177486419677734 13.334263801574707 8.166742324829102 13.024483680725098 8.331644058227539 12.797806739807129 C8.33709716796875 12.790074348449707 9.000444412231445 11.8523530960083 8.974968910217285 10.79848575592041 C8.964876174926758 10.379233360290527 8.949655532836914 10.050734519958496 8.934109687805176 9.800533294677734 C8.10740852355957 10.044222831726074 6.6998090744018555 10.588981628417969 5.97370719909668 11.614442825317383 C4.873774528503418 13.167654037475586 4.422534465789795 15.558961868286133 4.543402194976807 16.343421936035156 C4.6692352294921875 17.160762786865234 4.684292793273926 17.160762786865234 5.072127342224121 17.160762786865234 C5.917142391204834 17.160762786865234 6.62704610824585 17.195354461669922 7.426644325256348 17.630640029907227 C8.133944511413574 18.015544891357422 8.523487091064453 18.436668395996094 8.565485954284668 18.483469009399414 C8.724119186401367 18.659683227539062 8.766362190246582 18.911836624145508 8.673819541931152 19.130050659179688 C8.581275939941406 19.348424911499023 8.37071418762207 19.493385314941406 8.133781433105469 19.501850128173828 C7.905231475830078 19.510395050048828 7.213640213012695 19.568021774291992 6.7691569328308105 19.729341506958008 C6.533118724822998 19.815046310424805 6.329800605773926 19.91532325744629 6.133156776428223 20.01234245300293 C5.818575382232666 20.167556762695312 5.521411895751953 20.314144134521484 5.174761772155762 20.355085372924805 C5.062033653259277 20.36843490600586 4.946293354034424 20.37494659423828 4.836739540100098 20.372909545898438 C4.708953380584717 20.669748306274414 4.4914727210998535 21.0235595703125 4.125695705413818 21.304283142089844 C3.8457069396972656 21.51923942565918 3.560832977294922 21.65182876586914 3.309493064880371 21.768707275390625 C3.0008535385131836 21.912364959716797 2.7570018768310547 22.02582550048828 2.5697994232177734 22.25795555114746 C2.0791664123535156 22.866363525390625 1.9145097732543945 23.526046752929688 1.9129638671875 23.532642364501953 C1.8488264083862305 23.79610824584961 1.6181602478027344 23.987056732177734 1.3472871780395508 23.999347686767578 C1.3379268646240234 23.999835968017578 1.3284854888916016 23.999996185302734 1.3191251754760742 23.999996185302734 C1.0594024658203125 23.999996185302734 0.8263750076293945 23.83623695373535 0.7416458129882812 23.588478088378906 C0.7034730911254883 23.477214813232422 0.3817291259765625 22.45745086669922 0.8099346160888672 20.964794158935547 C0.9630336761474609 20.43118667602539 1.2002105712890625 19.969284057617188 1.4294929504394531 19.52243995666504 C1.8025951385498047 18.795686721801758 2.1248273849487305 18.168071746826172 1.9896345138549805 17.39899444580078 C1.3541231155395508 13.784278869628906 1.3979930877685547 10.845199584960938 2.1199445724487305 8.66372299194336 C3.2425079345703125 5.270968914031982 5.960035800933838 3.380631446838379 6.4934000968933105 3.0362606048583984 C6.758006572723389 2.865255355834961 6.996160984039307 2.714841842651367 7.196874141693115 2.5898237228393555 C7.010729789733887 2.441526412963867 6.77412223815918 2.2857418060302734 6.492830276489258 2.1661758422851562 C5.852598190307617 1.8940000534057617 5.583515167236328 1.8196077346801758 5.508959770202637 1.801863670349121 C5.504157543182373 1.8020267486572266 5.499518394470215 1.8020267486572266 5.494879245758057 1.8020267486572266 C5.229133129119873 1.802107810974121 5.024837970733643 1.6266260147094727 4.947108745574951 1.3674726486206055 C4.866367340087891 1.0983896255493164 5.016373634338379 0.8095283508300781 5.258190155029297 0.6666841506958008 C5.3041768074035645 0.6394186019897461 6.404031276702881 0.0 7.8535475730896 0.0 C8.152664184570312 0.0 8.449827194213867 0.027429580688476562 8.736736297607422 0.08155536651611328 C9.630668640136719 0.25028133392333984 10.262435913085938 0.5023536682128906 10.873366355895996 0.7460422515869141 C11.469890594482422 0.9840335845947266 12.033370018005371 1.2088394165039062 12.874641418457031 1.386031150817871 C13.28331184387207 1.4721441268920898 13.65967082977295 1.538559913635254 14.023574829101562 1.6028594970703125 C15.275632858276367 1.8239212036132812 16.356931686401367 2.0148677825927734 17.9736270904541 2.84043025970459 C20.083642959594727 3.918065071105957 21.270099639892578 5.097114562988281 21.314538955688477 6.160179615020752 C21.323898315429688 6.384252548217773 21.319015502929688 6.58447790145874 21.299808502197266 6.760448455810547 C21.497264862060547 6.859177112579346 21.73720932006836 6.983952045440674 21.979595184326172 7.121830463409424 C22.966312408447266 7.683030605316162 23.38011360168457 8.103340148925781 23.407703399658203 8.572404861450195 C23.426834106445312 8.898788452148438 23.339338302612305 9.167301177978516 23.14757537841797 9.37070083618164 Z\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<circle cx=\"23.14757537841797\" cy=\"9.37070083618164\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<line fill=\"none\" stroke=\"red\" stroke-dasharray=\"0.5\" stroke-opacity=\"1.0\" stroke-width=\".3\" x1=\"0.0\" x2=\"23.14757537841797\" y1=\"0.0\" y2=\"9.37070083618164\"/>\n",
       "<circle cx=\"22.220027923583984\" cy=\"9.7031888961792\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"21.091278076171875\" cy=\"9.5518798828125\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"20.064350128173828\" cy=\"9.315516471862793\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"18.65764617919922\" cy=\"9.070526123046875\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"17.589860916137695\" cy=\"9.270832061767578\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"15.261307716369629\" cy=\"9.630829811096191\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"13.032541275024414\" cy=\"9.517776489257812\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"11.445470809936523\" cy=\"12.112889289855957\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"9.092906951904297\" cy=\"13.705493927001953\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.3576078414917\" cy=\"13.549057960510254\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.331644058227539\" cy=\"12.797806739807129\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.974968910217285\" cy=\"10.79848575592041\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.934109687805176\" cy=\"9.800533294677734\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.97370719909668\" cy=\"11.614442825317383\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"4.543402194976807\" cy=\"16.343421936035156\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.072127342224121\" cy=\"17.160762786865234\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"7.426644325256348\" cy=\"17.630640029907227\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.565485954284668\" cy=\"18.483469009399414\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.673819541931152\" cy=\"19.130050659179688\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.133781433105469\" cy=\"19.501850128173828\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"6.7691569328308105\" cy=\"19.729341506958008\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"6.133156776428223\" cy=\"20.01234245300293\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.174761772155762\" cy=\"20.355085372924805\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"4.836739540100098\" cy=\"20.372909545898438\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"4.125695705413818\" cy=\"21.304283142089844\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"3.309493064880371\" cy=\"21.768707275390625\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"2.5697994232177734\" cy=\"22.25795555114746\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"1.9129638671875\" cy=\"23.532642364501953\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"1.3472871780395508\" cy=\"23.999347686767578\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"1.3191251754760742\" cy=\"23.999996185302734\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"0.7416458129882812\" cy=\"23.588478088378906\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"0.8099346160888672\" cy=\"20.964794158935547\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"1.4294929504394531\" cy=\"19.52243995666504\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"1.9896345138549805\" cy=\"17.39899444580078\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"2.1199445724487305\" cy=\"8.66372299194336\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"6.4934000968933105\" cy=\"3.0362606048583984\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"7.196874141693115\" cy=\"2.5898237228393555\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"6.492830276489258\" cy=\"2.1661758422851562\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.508959770202637\" cy=\"1.801863670349121\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.494879245758057\" cy=\"1.8020267486572266\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"4.947108745574951\" cy=\"1.3674726486206055\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.258190155029297\" cy=\"0.6666841506958008\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"7.8535475730896\" cy=\"0.0\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.736736297607422\" cy=\"0.08155536651611328\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"10.873366355895996\" cy=\"0.7460422515869141\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"12.874641418457031\" cy=\"1.386031150817871\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"14.023574829101562\" cy=\"1.6028594970703125\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"17.9736270904541\" cy=\"2.84043025970459\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"21.314538955688477\" cy=\"6.160179615020752\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"21.299808502197266\" cy=\"6.760448455810547\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"21.979595184326172\" cy=\"7.121830463409424\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"23.407703399658203\" cy=\"8.572404861450195\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"23.14757537841797\" cy=\"9.37070083618164\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/></svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "dolphin.draw(with_points=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let us \"unzoom\" a little, so that there is a little more free room on the borders of the image."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"200px\" viewBox=\"0.0 0.0 24.0 24.0\" width=\"200px\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M22.032817840576172 9.633630752563477 C21.75057601928711 9.932869911193848 21.334716796875 9.932869911193848 21.19802474975586 9.932869911193848 C20.944570541381836 9.932869911193848 20.63119125366211 9.89089584350586 20.18214988708496 9.79669189453125 C19.829437255859375 9.722705841064453 19.52573013305664 9.648940086364746 19.257915496826172 9.583965301513672 C18.7310791015625 9.455991744995117 18.350311279296875 9.363473892211914 17.99188232421875 9.363473892211914 C17.78985023498535 9.363473892211914 17.421241760253906 9.451010704040527 17.030874252319336 9.54374885559082 C16.423093795776367 9.688130378723145 15.666755676269531 9.867746353149414 14.935176849365234 9.867746353149414 C14.196565628051758 9.867746353149414 13.419130325317383 9.810317039489746 12.92928695678711 9.765998840332031 C12.766592025756836 10.375904083251953 12.379522323608398 11.381669044494629 11.500924110412598 12.101600646972656 C10.306385040283203 13.080262184143066 9.420755386352539 13.516851425170898 9.38361644744873 13.534944534301758 C9.15675163269043 13.645556449890137 8.883956909179688 13.587613105773926 8.721847534179688 13.39415168762207 C8.559738159179688 13.200837135314941 8.550067901611328 12.922035217285156 8.698479652404785 12.718026161193848 C8.703387260437012 12.711067199707031 9.300399780273438 11.867117881774902 9.277471542358398 10.9186372756958 C9.268388748168945 10.54131031036377 9.254690170288086 10.245660781860352 9.24069881439209 10.020480155944824 C8.496667861938477 10.239800453186035 7.229828357696533 10.730083465576172 6.576336860656738 11.652998924255371 C5.586397171020508 13.050889015197754 5.180281162261963 15.203065872192383 5.289062023162842 15.909079551696777 C5.4023118019104 16.644685745239258 5.415863513946533 16.644685745239258 5.7649149894714355 16.644685745239258 C6.525428295135498 16.644685745239258 7.164341449737549 16.675819396972656 7.883979797363281 17.067575454711914 C8.520549774169922 17.413990020751953 8.871138572692871 17.793001174926758 8.908937454223633 17.835121154785156 C9.05170726776123 17.993715286254883 9.089725494384766 18.220653533935547 9.006437301635742 18.41704559326172 C8.923148155212402 18.613582611083984 8.733642578125 18.744047164916992 8.520402908325195 18.751665115356445 C8.314708709716797 18.759355545043945 7.692276477813721 18.81121826171875 7.29224157333374 18.95640754699707 C7.079806804656982 19.03354263305664 6.896820545196533 19.123790740966797 6.719841003417969 19.211109161376953 C6.436717987060547 19.350801467895508 6.169270992279053 19.482728958129883 5.857285976409912 19.519577026367188 C5.75583028793335 19.531591415405273 5.6516642570495605 19.537452697753906 5.553065776824951 19.53561782836914 C5.438058376312256 19.802772521972656 5.242325782775879 20.121204376220703 4.913126468658447 20.373855590820312 C4.661136627197266 20.56731414794922 4.404749870300293 20.6866455078125 4.178544044494629 20.79183578491211 C3.900768280029297 20.921127319335938 3.681302070617676 21.023242950439453 3.512819290161133 21.232158660888672 C3.0712499618530273 21.779727935791016 2.9230594635009766 22.373441696166992 2.92166805267334 22.379379272460938 C2.8639440536499023 22.616497039794922 2.656344413757324 22.78835105895996 2.4125585556030273 22.79941177368164 C2.404134750366211 22.79985237121582 2.3956375122070312 22.79999542236328 2.3872127532958984 22.79999542236328 C2.1534624099731445 22.79999542236328 1.9437379837036133 22.652612686157227 1.8674812316894531 22.429630279541016 C1.8331260681152344 22.32949447631836 1.5435562133789062 21.411705017089844 1.9289417266845703 20.068313598632812 C2.066730499267578 19.58806800842285 2.2801895141601562 19.17235565185547 2.486543655395508 18.77019500732422 C2.822336196899414 18.116117477416992 3.112344741821289 17.5512638092041 2.990671157836914 16.859094619750977 C2.418710708618164 13.605851173400879 2.458193778991699 10.96068000793457 3.107950210571289 8.997350692749023 C4.118257522583008 5.943871974945068 6.564032554626465 4.242568492889404 7.044060230255127 3.9326343536376953 C7.282206058502197 3.7787303924560547 7.49654483795166 3.6433582305908203 7.677186965942383 3.530841827392578 C7.50965690612793 3.397374153137207 7.296710014343262 3.2571678161621094 7.0435471534729 3.1495580673217773 C6.467338562011719 2.904600143432617 6.22516393661499 2.8376474380493164 6.158063888549805 2.8216772079467773 C6.153741836547852 2.821824073791504 6.149566650390625 2.821824073791504 6.145391464233398 2.821824073791504 C5.906219959259033 2.821897506713867 5.722354412078857 2.6639633178710938 5.652398109436035 2.4307260513305664 C5.579730987548828 2.1885509490966797 5.714736461639404 1.9285755157470703 5.932371139526367 1.8000164031982422 C5.973759174346924 1.775477409362793 6.96362829208374 1.2000007629394531 8.268193244934082 1.2000007629394531 C8.537397384643555 1.2000007629394531 8.804844856262207 1.224686622619629 9.06306266784668 1.2734003067016602 C9.86760139465332 1.4252538681030273 10.436192512512207 1.6521186828613281 10.986029624938965 1.8714380264282227 C11.52290153503418 2.085630416870117 12.030033111572266 2.2879552841186523 12.787177085876465 2.4474287033081055 C13.154980659484863 2.524930000305176 13.493703842163086 2.5847043991088867 13.82121753692627 2.642573356628418 C14.94806957244873 2.84152889251709 15.92123794555664 3.013381004333496 17.376264572143555 3.756387710571289 C19.275278091430664 4.726258754730225 20.343090057373047 5.787403106689453 20.383085250854492 6.744161605834961 C20.391508102416992 6.945827484130859 20.387113571166992 7.126030445098877 20.369827270507812 7.2844038009643555 C20.54753875732422 7.373259544372559 20.76348876953125 7.4855570793151855 20.98163604736328 7.609647750854492 C21.86968231201172 8.114727973937988 22.242101669311523 8.493005752563477 22.26693344116211 8.915164947509766 C22.284149169921875 9.20890998840332 22.20540428161621 9.450571060180664 22.032817840576172 9.633630752563477 Z\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<circle cx=\"22.032817840576172\" cy=\"9.633630752563477\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<line fill=\"none\" stroke=\"red\" stroke-dasharray=\"0.5\" stroke-opacity=\"1.0\" stroke-width=\".3\" x1=\"1.2000007629394531\" x2=\"22.032817840576172\" y1=\"1.2000007629394531\" y2=\"9.633630752563477\"/>\n",
       "<circle cx=\"21.19802474975586\" cy=\"9.932869911193848\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"20.18214988708496\" cy=\"9.79669189453125\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"19.257915496826172\" cy=\"9.583965301513672\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"17.99188232421875\" cy=\"9.363473892211914\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"17.030874252319336\" cy=\"9.54374885559082\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"14.935176849365234\" cy=\"9.867746353149414\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"12.92928695678711\" cy=\"9.765998840332031\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"11.500924110412598\" cy=\"12.101600646972656\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"9.38361644744873\" cy=\"13.534944534301758\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.721847534179688\" cy=\"13.39415168762207\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.698479652404785\" cy=\"12.718026161193848\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"9.277471542358398\" cy=\"10.9186372756958\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"9.24069881439209\" cy=\"10.020480155944824\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"6.576336860656738\" cy=\"11.652998924255371\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.289062023162842\" cy=\"15.909079551696777\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.7649149894714355\" cy=\"16.644685745239258\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"7.883979797363281\" cy=\"17.067575454711914\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.908937454223633\" cy=\"17.835121154785156\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"9.006437301635742\" cy=\"18.41704559326172\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.520402908325195\" cy=\"18.751665115356445\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"7.29224157333374\" cy=\"18.95640754699707\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"6.719841003417969\" cy=\"19.211109161376953\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.857285976409912\" cy=\"19.519577026367188\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.553065776824951\" cy=\"19.53561782836914\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"4.913126468658447\" cy=\"20.373855590820312\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"4.178544044494629\" cy=\"20.79183578491211\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"3.512819290161133\" cy=\"21.232158660888672\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"2.92166805267334\" cy=\"22.379379272460938\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"2.4125585556030273\" cy=\"22.79941177368164\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"2.3872127532958984\" cy=\"22.79999542236328\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"1.8674812316894531\" cy=\"22.429630279541016\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"1.9289417266845703\" cy=\"20.068313598632812\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"2.486543655395508\" cy=\"18.77019500732422\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"2.990671157836914\" cy=\"16.859094619750977\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"3.107950210571289\" cy=\"8.997350692749023\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"7.044060230255127\" cy=\"3.9326343536376953\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"7.677186965942383\" cy=\"3.530841827392578\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"7.0435471534729\" cy=\"3.1495580673217773\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"6.158063888549805\" cy=\"2.8216772079467773\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"6.145391464233398\" cy=\"2.821824073791504\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.652398109436035\" cy=\"2.4307260513305664\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.932371139526367\" cy=\"1.8000164031982422\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.268193244934082\" cy=\"1.2000007629394531\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"9.06306266784668\" cy=\"1.2734003067016602\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"10.986029624938965\" cy=\"1.8714380264282227\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"12.787177085876465\" cy=\"2.4474287033081055\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"13.82121753692627\" cy=\"2.642573356628418\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"17.376264572143555\" cy=\"3.756387710571289\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"20.383085250854492\" cy=\"6.744161605834961\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"20.369827270507812\" cy=\"7.2844038009643555\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"20.98163604736328\" cy=\"7.609647750854492\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"22.26693344116211\" cy=\"8.915164947509766\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"22.032817840576172\" cy=\"9.633630752563477\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/></svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "dolphin.zoom(0.9).draw(with_points=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For easier training of DeepSVG, the following \"canonicalization\" strategy is used:\n",
    "- an SVG path is oriented clockwise and starts from the topmost-leftmost point.\n",
    "- the path is simplified, so that points lie at approximately equal distance between each other."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"200px\" viewBox=\"0.0 0.0 24.0 24.0\" width=\"200px\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8.268193244934082 1.2000007629394531 C8.537397384643555 1.2000007629394531 8.804844856262207 1.224686622619629 9.06306266784668 1.2734003067016602 C9.86760139465332 1.4252538681030273 10.436192512512207 1.6521186828613281 10.986029624938965 1.8714380264282227 C11.52290153503418 2.085630416870117 12.030033111572266 2.2879552841186523 12.787177085876465 2.4474287033081055 C13.154980659484863 2.524930000305176 13.493703842163086 2.5847043991088867 13.82121753692627 2.642573356628418 C14.94806957244873 2.84152889251709 15.92123794555664 3.013381004333496 17.376264572143555 3.756387710571289 C19.275278091430664 4.726258754730225 20.343090057373047 5.787403106689453 20.383085250854492 6.744161605834961 C20.391508102416992 6.945827484130859 20.387113571166992 7.126030445098877 20.369827270507812 7.2844038009643555 C20.54753875732422 7.373259544372559 20.76348876953125 7.4855570793151855 20.98163604736328 7.609647750854492 C21.86968231201172 8.114727973937988 22.242101669311523 8.493005752563477 22.26693344116211 8.915164947509766 C22.284149169921875 9.20890998840332 22.20540428161621 9.450571060180664 22.032817840576172 9.633630752563477 C21.75057601928711 9.932869911193848 21.334716796875 9.932869911193848 21.19802474975586 9.932869911193848 C20.944570541381836 9.932869911193848 20.63119125366211 9.89089584350586 20.18214988708496 9.79669189453125 C19.829437255859375 9.722705841064453 19.52573013305664 9.648940086364746 19.257915496826172 9.583965301513672 C18.7310791015625 9.455991744995117 18.350311279296875 9.363473892211914 17.99188232421875 9.363473892211914 C17.78985023498535 9.363473892211914 17.421241760253906 9.451010704040527 17.030874252319336 9.54374885559082 C16.423093795776367 9.688130378723145 15.666755676269531 9.867746353149414 14.935176849365234 9.867746353149414 C14.196565628051758 9.867746353149414 13.419130325317383 9.810317039489746 12.92928695678711 9.765998840332031 C12.766592025756836 10.375904083251953 12.379522323608398 11.381669044494629 11.500924110412598 12.101600646972656 C10.306385040283203 13.080262184143066 9.420755386352539 13.516851425170898 9.38361644744873 13.534944534301758 C9.15675163269043 13.645556449890137 8.883956909179688 13.587613105773926 8.721847534179688 13.39415168762207 C8.559738159179688 13.200837135314941 8.550067901611328 12.922035217285156 8.698479652404785 12.718026161193848 C8.703387260437012 12.711067199707031 9.300399780273438 11.867117881774902 9.277471542358398 10.9186372756958 C9.268388748168945 10.54131031036377 9.254690170288086 10.245660781860352 9.24069881439209 10.020480155944824 C8.496667861938477 10.239800453186035 7.229828357696533 10.730083465576172 6.576336860656738 11.652998924255371 C5.586397171020508 13.050889015197754 5.180281162261963 15.203065872192383 5.289062023162842 15.909079551696777 C5.4023118019104 16.644685745239258 5.415863513946533 16.644685745239258 5.7649149894714355 16.644685745239258 C6.525428295135498 16.644685745239258 7.164341449737549 16.675819396972656 7.883979797363281 17.067575454711914 C8.520549774169922 17.413990020751953 8.871138572692871 17.793001174926758 8.908937454223633 17.835121154785156 C9.05170726776123 17.993715286254883 9.089725494384766 18.220653533935547 9.006437301635742 18.41704559326172 C8.923148155212402 18.613582611083984 8.733642578125 18.744047164916992 8.520402908325195 18.751665115356445 C8.314708709716797 18.759355545043945 7.692276477813721 18.81121826171875 7.29224157333374 18.95640754699707 C7.079806804656982 19.03354263305664 6.896820545196533 19.123790740966797 6.719841003417969 19.211109161376953 C6.436717987060547 19.350801467895508 6.169270992279053 19.482728958129883 5.857285976409912 19.519577026367188 C5.75583028793335 19.531591415405273 5.6516642570495605 19.537452697753906 5.553065776824951 19.53561782836914 C5.438058376312256 19.802772521972656 5.242325782775879 20.121204376220703 4.913126468658447 20.373855590820312 C4.661136627197266 20.56731414794922 4.404749870300293 20.6866455078125 4.178544044494629 20.79183578491211 C3.900768280029297 20.921127319335938 3.681302070617676 21.023242950439453 3.512819290161133 21.232158660888672 C3.0712499618530273 21.779727935791016 2.9230594635009766 22.373441696166992 2.92166805267334 22.379379272460938 C2.8639440536499023 22.616497039794922 2.656344413757324 22.78835105895996 2.4125585556030273 22.79941177368164 C2.404134750366211 22.79985237121582 2.3956375122070312 22.79999542236328 2.3872127532958984 22.79999542236328 C2.1534624099731445 22.79999542236328 1.9437379837036133 22.652612686157227 1.8674812316894531 22.429630279541016 C1.8331260681152344 22.32949447631836 1.5435562133789062 21.411705017089844 1.9289417266845703 20.068313598632812 C2.066730499267578 19.58806800842285 2.2801895141601562 19.17235565185547 2.486543655395508 18.77019500732422 C2.822336196899414 18.116117477416992 3.112344741821289 17.5512638092041 2.990671157836914 16.859094619750977 C2.418710708618164 13.605851173400879 2.458193778991699 10.96068000793457 3.107950210571289 8.997350692749023 C4.118257522583008 5.943871974945068 6.564032554626465 4.242568492889404 7.044060230255127 3.9326343536376953 C7.282206058502197 3.7787303924560547 7.49654483795166 3.6433582305908203 7.677186965942383 3.530841827392578 C7.50965690612793 3.397374153137207 7.296710014343262 3.2571678161621094 7.0435471534729 3.1495580673217773 C6.467338562011719 2.904600143432617 6.22516393661499 2.8376474380493164 6.158063888549805 2.8216772079467773 C6.153741836547852 2.821824073791504 6.149566650390625 2.821824073791504 6.145391464233398 2.821824073791504 C5.906219959259033 2.821897506713867 5.722354412078857 2.6639633178710938 5.652398109436035 2.4307260513305664 C5.579730987548828 2.1885509490966797 5.714736461639404 1.9285755157470703 5.932371139526367 1.8000164031982422 C5.973759174346924 1.775477409362793 6.96362829208374 1.2000007629394531 8.268193244934082 1.2000007629394531\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<circle cx=\"8.268193244934082\" cy=\"1.2000007629394531\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<line fill=\"none\" stroke=\"red\" stroke-dasharray=\"0.5\" stroke-opacity=\"1.0\" stroke-width=\".3\" x1=\"0.0\" x2=\"8.268193244934082\" y1=\"0.0\" y2=\"1.2000007629394531\"/>\n",
       "<circle cx=\"9.06306266784668\" cy=\"1.2734003067016602\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"10.986029624938965\" cy=\"1.8714380264282227\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"12.787177085876465\" cy=\"2.4474287033081055\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"13.82121753692627\" cy=\"2.642573356628418\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"17.376264572143555\" cy=\"3.756387710571289\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"20.383085250854492\" cy=\"6.744161605834961\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"20.369827270507812\" cy=\"7.2844038009643555\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"20.98163604736328\" cy=\"7.609647750854492\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"22.26693344116211\" cy=\"8.915164947509766\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"22.032817840576172\" cy=\"9.633630752563477\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"21.19802474975586\" cy=\"9.932869911193848\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"20.18214988708496\" cy=\"9.79669189453125\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"19.257915496826172\" cy=\"9.583965301513672\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"17.99188232421875\" cy=\"9.363473892211914\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"17.030874252319336\" cy=\"9.54374885559082\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"14.935176849365234\" cy=\"9.867746353149414\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"12.92928695678711\" cy=\"9.765998840332031\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"11.500924110412598\" cy=\"12.101600646972656\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"9.38361644744873\" cy=\"13.534944534301758\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.721847534179688\" cy=\"13.39415168762207\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.698479652404785\" cy=\"12.718026161193848\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"9.277471542358398\" cy=\"10.9186372756958\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"9.24069881439209\" cy=\"10.020480155944824\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"6.576336860656738\" cy=\"11.652998924255371\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.289062023162842\" cy=\"15.909079551696777\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.7649149894714355\" cy=\"16.644685745239258\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"7.883979797363281\" cy=\"17.067575454711914\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.908937454223633\" cy=\"17.835121154785156\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"9.006437301635742\" cy=\"18.41704559326172\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.520402908325195\" cy=\"18.751665115356445\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"7.29224157333374\" cy=\"18.95640754699707\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"6.719841003417969\" cy=\"19.211109161376953\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.857285976409912\" cy=\"19.519577026367188\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.553065776824951\" cy=\"19.53561782836914\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"4.913126468658447\" cy=\"20.373855590820312\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"4.178544044494629\" cy=\"20.79183578491211\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"3.512819290161133\" cy=\"21.232158660888672\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"2.92166805267334\" cy=\"22.379379272460938\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"2.4125585556030273\" cy=\"22.79941177368164\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"2.3872127532958984\" cy=\"22.79999542236328\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"1.8674812316894531\" cy=\"22.429630279541016\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"1.9289417266845703\" cy=\"20.068313598632812\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"2.486543655395508\" cy=\"18.77019500732422\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"2.990671157836914\" cy=\"16.859094619750977\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"3.107950210571289\" cy=\"8.997350692749023\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"7.044060230255127\" cy=\"3.9326343536376953\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"7.677186965942383\" cy=\"3.530841827392578\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"7.0435471534729\" cy=\"3.1495580673217773\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"6.158063888549805\" cy=\"2.8216772079467773\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"6.145391464233398\" cy=\"2.821824073791504\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.652398109436035\" cy=\"2.4307260513305664\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.932371139526367\" cy=\"1.8000164031982422\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.268193244934082\" cy=\"1.2000007629394531\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/></svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "dolphin.canonicalize().draw(with_points=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Our simplification heuristic uses a combination of Ramer-Douglas-Peucker and Philip J. Schneider algorithms."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"200px\" viewBox=\"0.0 0.0 24.0 24.0\" width=\"200px\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8.268193244934082 1.2000007629394531 L8.268193244934082 1.2000007629394531 C9.871611595153809 1.3480629920959473 11.241388320922852 2.0269935131073 12.787177085876465 2.4474287033081055 C14.389649391174316 2.8832809925079346 15.841776847839355 2.9907379150390625 17.376264572143555 3.756387710571289 C18.835208892822266 4.484344482421875 20.413890838623047 5.488887310028076 20.369827270507812 7.2844038009643555 L20.369827270507812 7.2844038009643555 C21.32862663269043 7.794111251831055 23.537521362304688 9.726737976074219 21.19802474975586 9.932869911193848 C20.13315200805664 10.026695251464844 19.0523681640625 9.382624626159668 17.99188232421875 9.363473892211914 C16.29776382446289 9.332880973815918 14.693680763244629 9.896910667419434 12.92928695678711 9.765998840332031 L12.92928695678711 9.765998840332031 C12.27876091003418 11.410186767578125 11.486950874328613 12.177453994750977 10.008245468139648 13.178485870361328 C9.73363971710205 13.364384651184082 9.104533195495605 13.850444793701172 8.721847534179688 13.39415168762207 C8.178030014038086 12.745734214782715 9.279230117797852 10.961587905883789 9.24069881439209 10.020480155944824 L9.24069881439209 10.020480155944824 C8.143743515014648 10.464046478271484 7.004016876220703 11.25480842590332 6.214437961578369 12.275373458862305 C5.424858570098877 13.295937538146973 4.985426902770996 14.546304702758789 5.289062023162842 15.909079551696777 C5.352571487426758 16.194124221801758 5.505392551422119 16.51077651977539 5.7649149894714355 16.644685745239258 C6.083888530731201 16.80927085876465 6.487784385681152 16.63897705078125 6.839775562286377 16.7092227935791 C7.402700901031494 16.821561813354492 10.248690605163574 18.207868576049805 8.520402908325195 18.751665115356445 C8.12450122833252 18.87623405456543 7.694392681121826 18.853792190551758 7.29224157333374 18.95640754699707 C6.689267158508301 19.110267639160156 6.20245361328125 19.50137710571289 5.553065776824951 19.53561782836914 L5.553065776824951 19.53561782836914 C5.176418781280518 20.028976440429688 4.7077436447143555 20.46746826171875 4.178544044494629 20.79183578491211 C3.2941977977752686 21.333887100219727 3.203238010406494 22.177146911621094 2.4125585556030273 22.79941177368164 C2.078463554382324 23.06234359741211 1.7297465801239014 22.140199661254883 1.7408087253570557 21.715192794799805 C1.7866865396499634 19.952564239501953 3.1107211112976074 18.55057144165039 2.990671157836914 16.859094619750977 C2.861063241958618 15.03294563293457 2.7652435302734375 13.307164192199707 2.8862011432647705 11.696459770202637 C3.0071587562561035 10.08575439453125 3.3448939323425293 8.590127944946289 4.082395076751709 7.224287986755371 C4.819896697998047 5.858448028564453 5.9571638107299805 4.622396469116211 7.677186965942383 3.530841827392578 L7.677186965942383 3.530841827392578 C7.031631946563721 3.142388343811035 4.213050842285156 2.110785961151123 6.626590728759766 1.4908064603805542 C7.164836883544922 1.3525441884994507 7.720992565155029 1.29693603515625 8.268193244934082 1.2000007629394531 L8.268193244934082 1.2000007629394531\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<circle cx=\"8.268193244934082\" cy=\"1.2000007629394531\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<line fill=\"none\" stroke=\"red\" stroke-dasharray=\"0.5\" stroke-opacity=\"1.0\" stroke-width=\".3\" x1=\"0.0\" x2=\"8.268193244934082\" y1=\"0.0\" y2=\"1.2000007629394531\"/>\n",
       "<circle cx=\"8.268193244934082\" cy=\"1.2000007629394531\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"12.787177085876465\" cy=\"2.4474287033081055\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"17.376264572143555\" cy=\"3.756387710571289\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"20.369827270507812\" cy=\"7.2844038009643555\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"20.369827270507812\" cy=\"7.2844038009643555\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"21.19802474975586\" cy=\"9.932869911193848\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"17.99188232421875\" cy=\"9.363473892211914\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"12.92928695678711\" cy=\"9.765998840332031\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"12.92928695678711\" cy=\"9.765998840332031\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"10.008245468139648\" cy=\"13.178485870361328\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.721847534179688\" cy=\"13.39415168762207\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"9.24069881439209\" cy=\"10.020480155944824\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"9.24069881439209\" cy=\"10.020480155944824\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"6.214437961578369\" cy=\"12.275373458862305\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.289062023162842\" cy=\"15.909079551696777\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.7649149894714355\" cy=\"16.644685745239258\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"6.839775562286377\" cy=\"16.7092227935791\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.520402908325195\" cy=\"18.751665115356445\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"7.29224157333374\" cy=\"18.95640754699707\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.553065776824951\" cy=\"19.53561782836914\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"5.553065776824951\" cy=\"19.53561782836914\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"4.178544044494629\" cy=\"20.79183578491211\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"2.4125585556030273\" cy=\"22.79941177368164\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"1.7408087253570557\" cy=\"21.715192794799805\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"2.990671157836914\" cy=\"16.859094619750977\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"2.8862011432647705\" cy=\"11.696459770202637\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"4.082395076751709\" cy=\"7.224287986755371\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"7.677186965942383\" cy=\"3.530841827392578\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"7.677186965942383\" cy=\"3.530841827392578\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"6.626590728759766\" cy=\"1.4908064603805542\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.268193244934082\" cy=\"1.2000007629394531\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/>\n",
       "<circle cx=\"8.268193244934082\" cy=\"1.2000007629394531\" fill=\"deepskyblue\" fill-opacity=\"1.0\" r=\"0.4000000059604645\"/></svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "dolphin.simplify_heuristic().draw(with_points=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Finally, generating a GIF from the drawing is as easy as:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div align=middle><video autoplay='1' loop='1'src='data:video/mp4;base64,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' controls>Sorry, seems like your browser doesn't support HTML5 audio/video</video></div>"
      ],
      "text/plain": [
       "<moviepy.video.io.html_tools.HTML2 object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "dolphin.animate(frame_duration=0.1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Distinguishing individual paths"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "svg = SVG.load_svg(\"docs/imgs/rainbow.svg\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Using the `draw_colored` makes it easy to distinguish the individual paths of an SVG image."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"200px\" viewBox=\"0.0 0.0 24.0 24.0\" width=\"200px\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9.331999778747559 1.25 L9.331999778747559 1.25 C9.774789810180664 1.8597497940063477 10.420870780944824 2.1518821716308594 11.066963195800781 2.4439477920532227 C11.713056564331055 2.736013412475586 12.359161376953125 3.0280141830444336 12.802000045776367 3.6374998092651367 L12.802000045776367 3.6374998092651367 C13.216081619262695 4.395577907562256 12.83358097076416 4.870429992675781 12.22606086730957 5.175211429595947 C11.61854076385498 5.4799933433532715 10.78600025177002 5.614704132080078 10.300000190734863 5.692500114440918 L10.300000190734863 5.692500114440918 C10.435256958007812 4.897643566131592 10.569343566894531 4.41878604888916 10.281000137329102 3.6735000610351562 L10.281000137329102 3.6735000610351562 C9.656917572021484 2.770963668823242 9.255645751953125 2.341676712036133 9.331999778747559 1.25 L9.331999778747559 1.25\" fill=\"none\" filling=\"0\" stroke=\"deepskyblue\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M9.331999778747559 1.25 L9.331999778747559 1.25 C9.56299114227295 1.966278076171875 9.985245704650879 2.6036911010742188 10.546366691589355 3.1140546798706055 C10.960609436035156 3.4908266067504883 11.538208961486816 3.6853723526000977 11.892499923706055 4.11899995803833 C12.01726245880127 4.271700859069824 11.8638334274292 4.512333393096924 11.849499702453613 4.709000110626221 L11.849499702453613 4.709000110626221 C11.277756690979004 4.637207984924316 10.627585411071777 4.520573139190674 10.230500221252441 4.102999687194824 L10.230500221252441 4.102999687194824 C9.646103858947754 3.150897979736328 9.250831604003906 2.3864660263061523 9.331999778747559 1.25 L9.331999778747559 1.25\" fill=\"none\" filling=\"0\" stroke=\"lime\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M4.854499816894531 1.2939996719360352 L7.675749778747559 2.8640003204345703 L10.496999740600586 4.434000015258789 L9.284500122070312 5.383500099182129 L7.069499969482422 3.338749885559082 L4.854499816894531 1.2939996719360352\" fill=\"none\" filling=\"0\" stroke=\"deeppink\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M11.134500503540039 2.3050003051757812 L11.134500503540039 2.3050003051757812 C12.262310028076172 2.102254867553711 13.360300064086914 2.125293731689453 14.414048194885254 2.331634521484375 C15.467796325683594 2.537975311279297 16.4773006439209 2.9276180267333984 17.42814064025879 3.4580793380737305 C18.378978729248047 3.9885406494140625 19.27115249633789 4.659820556640625 20.090234756469727 5.429435729980469 C20.763486862182617 6.062027931213379 21.61468505859375 6.893954277038574 21.891000747680664 7.8125 C22.08984375 8.473502159118652 22.074453353881836 9.151878356933594 21.95667266845703 9.821440696716309 C21.838891983032227 10.491003036499023 21.61872100830078 11.151752471923828 21.408000946044922 11.77750015258789 L21.408000946044922 11.77750015258789 C20.925098419189453 11.026392936706543 20.562158584594727 10.246456146240234 20.169288635253906 9.485513687133789 C19.77642059326172 8.72457218170166 19.353622436523438 7.982625961303711 18.751001358032227 7.30750036239624 L18.751001358032227 7.30750036239624 C19.069421768188477 7.921031951904297 19.255462646484375 8.4981107711792 19.36644172668457 9.092392921447754 C19.477418899536133 9.686675071716309 19.513334274291992 10.298158645629883 19.53150177001953 10.980500221252441 L19.53150177001953 10.980500221252441 C18.647069931030273 10.135513305664062 18.120210647583008 9.040584564208984 17.613140106201172 7.921492576599121 C17.106067657470703 6.802400588989258 16.618783950805664 5.659144401550293 15.813501358032227 4.71750020980835 L15.813501358032227 4.71750020980835 C16.43242073059082 5.9100341796875 16.558780670166016 6.953279972076416 16.59000015258789 8.283000946044922 L16.59000015258789 8.283000946044922 C16.007984161376953 7.515202045440674 15.504498481750488 6.721415996551514 14.985647201538086 5.96558141708374 C14.466794967651367 5.209746837615967 13.932578086853027 4.49186372756958 13.289101600646973 3.875870704650879 C12.645625114440918 3.259878158569336 11.892889022827148 2.7457752227783203 10.937000274658203 2.3975000381469727 L10.937000274658203 2.3975000381469727 C11.002833366394043 2.366666793823242 11.0686674118042 2.3358335494995117 11.134500503540039 2.3050003051757812 L11.134500503540039 2.3050003051757812\" fill=\"none\" filling=\"0\" stroke=\"gold\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M12.095000267028809 2.9300003051757812 L12.095000267028809 2.9300003051757812 C13.040525436401367 2.865574836730957 13.965033531188965 2.980060577392578 14.860048294067383 3.227682113647461 C15.7550630569458 3.4753036499023438 16.620582580566406 3.8560619354248047 17.448135375976562 4.324178695678711 C18.275686264038086 4.792295932769775 19.06526756286621 5.347773551940918 19.80840301513672 5.944835186004639 C20.55154037475586 6.541897296905518 21.24822998046875 7.180543899536133 21.889999389648438 7.815000057220459 L21.889999389648438 7.815000057220459 C21.98303985595703 8.904411315917969 21.92499542236328 10.112150192260742 21.62495231628418 11.234946250915527 C21.324909210205078 12.357743263244629 20.782869338989258 13.395597457885742 19.907920837402344 14.14523983001709 C18.981590270996094 14.938905715942383 18.629268646240234 14.913631439208984 17.459999084472656 15.28499984741211 L17.459999084472656 15.28499984741211 C16.870946884155273 14.57209587097168 16.374591827392578 13.821304321289062 15.906240463256836 13.052266120910645 C15.437889099121094 12.283227920532227 14.997539520263672 11.495941162109375 14.520496368408203 10.710049629211426 C14.340539932250977 10.413585662841797 13.845282554626465 9.398128509521484 13.319999694824219 9.469999313354492 C12.682798385620117 9.557182312011719 12.295016288757324 10.408973693847656 11.894760131835938 10.798398971557617 C11.395147323608398 11.284492492675781 10.657988548278809 11.45561408996582 10.104999542236328 11.879999160766602 C9.630595207214355 12.244075775146484 9.449971199035645 12.935999870300293 8.934999465942383 13.239998817443848 C8.082891464233398 13.743016242980957 6.615726947784424 13.03902816772461 5.804999828338623 12.734997749328613 L5.804999828338623 12.734997749328613 C5.621365547180176 12.368178367614746 5.453078269958496 11.99353313446045 5.295000076293945 11.614997863769531 L5.295000076293945 11.614997863769531 C4.982722759246826 10.428342819213867 6.065224647521973 9.750953674316406 6.746280193328857 8.888837814331055 C7.341329574584961 8.135592460632324 7.894603252410889 7.334171295166016 8.345000267028809 6.484997749328613 L8.345000267028809 6.484997749328613 C8.626094818115234 5.133002281188965 9.19737720489502 4.631947994232178 10.210000038146973 3.75 L10.210000038146973 3.75 C10.753978729248047 3.24228572845459 11.393070220947266 3.0906753540039062 12.095000267028809 2.9300003051757812 L12.095000267028809 2.9300003051757812\" fill=\"none\" filling=\"0\" stroke=\"coral\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M9.595499992370605 3.0485000610351562 L9.595499992370605 3.0485000610351562 C9.776219367980957 3.4167728424072266 9.992088317871094 3.768810272216797 10.229999542236328 4.103000164031982 L10.231999397277832 4.1045002937316895 C9.056800842285156 4.92280912399292 8.236559867858887 5.214763164520264 8.118000030517578 6.741000175476074 L8.118000030517578 6.741000175476074 C7.725093841552734 5.868191242218018 7.700736999511719 5.175172805786133 7.97147274017334 4.585302829742432 C8.242208480834961 3.995433807373047 8.808036804199219 3.5087127685546875 9.595499992370605 3.0485000610351562 L9.595499992370605 3.0485000610351562\" fill=\"none\" filling=\"0\" stroke=\"darkviolet\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M13.217001914978027 3.614500045776367 L13.217001914978027 3.614500045776367 C13.875423431396484 4.319945335388184 14.427111625671387 5.104151725769043 14.959976196289062 5.903393745422363 C15.492839813232422 6.702635765075684 16.006877899169922 7.516913414001465 16.59000015258789 8.282500267028809 L16.59000015258789 8.282500267028809 C16.587167739868164 8.161833763122559 16.584333419799805 8.041167259216309 16.581501007080078 7.9205002784729 L16.581501007080078 7.9205002784729 C16.60028839111328 8.447763442993164 16.637378692626953 8.974635124206543 16.691001892089844 9.499500274658203 L16.691001892089844 9.499500274658203 C15.889802932739258 8.626148223876953 15.401328086853027 7.596437454223633 14.923140525817871 6.564294815063477 C14.444952964782715 5.53215217590332 13.977052688598633 4.4975786209106445 13.217001914978027 3.614500045776367 L13.217001914978027 3.614500045776367\" fill=\"none\" filling=\"0\" stroke=\"royalblue\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M15.812999725341797 4.718000888824463 L15.812999725341797 4.718000888824463 C16.61851692199707 5.659502029418945 17.10592269897461 6.802633762359619 17.613059997558594 7.921637058258057 C18.120197296142578 9.040639877319336 18.647064208984375 10.135514259338379 19.5314998626709 10.980500221252441 L19.5314998626709 10.980500221252441 C19.527332305908203 10.824000358581543 19.52316665649414 10.667500495910645 19.518999099731445 10.511000633239746 L19.518999099731445 10.511000633239746 C19.533273696899414 10.968536376953125 19.559953689575195 11.425827026367188 19.597999572753906 11.882000923156738 L19.597999572753906 11.882000923156738 C18.869426727294922 11.316278457641602 18.259620666503906 10.806828498840332 17.856534957885742 9.95160961151123 C17.4315185546875 9.049861907958984 17.239803314208984 8.148612976074219 16.99475860595703 7.269224166870117 C16.749713897705078 6.389835834503174 16.451337814331055 5.5323076248168945 15.812999725341797 4.718000888824463 L15.812999725341797 4.718000888824463\" fill=\"none\" filling=\"0\" stroke=\"darkmagenta\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M9.992499351501465 6.4014997482299805 L9.992499351501465 6.4014997482299805 C9.999166488647461 6.637166500091553 10.174427032470703 6.9371442794799805 10.012499809265137 7.108500003814697 C9.85057258605957 7.279855728149414 9.541166305541992 7.121833324432373 9.305500030517578 7.128499984741211 L9.305500030517578 7.128499984741211\" fill=\"none\" filling=\"0\" stroke=\"teal\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M18.750999450683594 7.30750036239624 L18.750999450683594 7.30750036239624 C19.353527069091797 7.982675552368164 19.776321411132812 8.72463321685791 20.169212341308594 9.48556900024414 C20.562103271484375 10.246503829956055 20.925090789794922 11.026416778564453 21.408000946044922 11.77750015258789 L21.408000946044922 11.77750015258789 C21.272478103637695 12.124055862426758 21.132905960083008 12.469114303588867 20.986000061035156 12.810999870300293 L20.986000061035156 12.810999870300293 C20.469648361206055 11.918558120727539 20.239749908447266 10.962187767028809 19.974512100219727 10.01917552947998 C19.709274291992188 9.076163291931152 19.408700942993164 8.146509170532227 18.750999450683594 7.30750036239624 L18.750999450683594 7.30750036239624\" fill=\"none\" filling=\"0\" stroke=\"gold\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M5.215000152587891 11.219999313354492 L5.215000152587891 11.219999313354492 C6.040783405303955 11.716711044311523 5.977397441864014 11.849479675292969 5.84499979019165 12.75 L5.84499979019165 12.75 C5.831666469573975 12.744999885559082 5.818333148956299 12.739999771118164 5.804999828338623 12.734999656677246 L5.804999828338623 12.734999656677246 C5.621365547180176 12.368180274963379 5.453078269958496 11.993535041809082 5.295000076293945 11.614999771118164 L5.295000076293945 11.614999771118164 C5.261666774749756 11.488332748413086 5.228333473205566 11.361666679382324 5.195000171661377 11.234999656677246 L5.195000171661377 11.234999656677246 C5.201666831970215 11.229999542236328 5.208333492279053 11.22499942779541 5.215000152587891 11.219999313354492 L5.215000152587891 11.219999313354492\" fill=\"none\" filling=\"0\" stroke=\"green\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M8.010000228881836 11.670000076293945 L8.010000228881836 11.670000076293945 C7.3694305419921875 12.475608825683594 6.772623538970947 13.294171333312988 6.234208583831787 14.134140968322754 C5.695793628692627 14.97411060333252 5.2157697677612305 15.835485458374023 4.808765888214111 16.726716995239258 C4.401761531829834 17.617950439453125 4.067777156829834 18.539039611816406 3.821439743041992 19.498435974121094 C3.5751028060913086 20.45783233642578 3.416414260864258 21.455535888671875 3.359999656677246 22.5 L2.0 22.5 C2.0718765258789062 21.375125885009766 2.2692337036132812 20.3150577545166 2.577731132507324 19.304292678833008 C2.886227607727051 18.293527603149414 3.3058643341064453 17.33206558227539 3.8223018646240234 16.40440559387207 C4.338737964630127 15.476744651794434 4.951974391937256 14.5828857421875 5.647670745849609 13.707324981689453 C6.1198554039001465 13.113062858581543 7.210833549499512 11.847590446472168 8.010000228881836 11.670000076293945 L8.010000228881836 11.670000076293945\" fill=\"none\" filling=\"0\" stroke=\"maroon\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M8.010000228881836 11.670000076293945 L8.010000228881836 11.670000076293945 C8.15472412109375 11.714153289794922 8.317004203796387 11.759712219238281 8.414999961853027 11.875 L8.414999961853027 11.875 C7.845092296600342 12.666217803955078 7.3507585525512695 13.483529090881348 6.927567005157471 14.325027465820312 C6.504375457763672 15.166525840759277 6.152325630187988 16.032209396362305 5.866985321044922 16.9201717376709 C5.5816450119018555 17.80813217163086 5.363014221191406 18.718372344970703 5.206660747528076 19.64897918701172 C5.050307273864746 20.579586029052734 4.956231117248535 21.530563354492188 4.920000076293945 22.5 L3.255000114440918 22.5 C3.3104782104492188 21.441490173339844 3.464779853820801 20.4210205078125 3.7116241455078125 19.43341636657715 C3.9584693908691406 18.445812225341797 4.297857284545898 17.491069793701172 4.723508834838867 16.564010620117188 C5.149159908294678 15.63695240020752 5.661074638366699 14.737577438354492 6.252971649169922 13.86070728302002 C6.574909687042236 13.383769989013672 7.434660911560059 11.7978515625 8.010000228881836 11.670000076293945 L8.010000228881836 11.670000076293945\" fill=\"none\" filling=\"0\" stroke=\"aqua\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M8.305000305175781 11.75999927520752 L8.305000305175781 11.75999927520752 C8.722480773925781 12.010497093200684 8.309746742248535 12.5870361328125 8.18375015258789 12.828125 C7.811840057373047 13.53976058959961 7.523191452026367 14.29237174987793 7.291399955749512 15.060480117797852 C7.0489678382873535 15.863848686218262 6.871424674987793 16.680326461791992 6.741121768951416 17.504552841186523 C6.610818862915039 18.328781127929688 6.5277557373046875 19.160755157470703 6.474285125732422 19.9951171875 C6.420814514160156 20.829479217529297 6.39693546295166 21.66622543334961 6.385000228881836 22.5 L4.755000114440918 22.5 C4.791806221008301 21.518234252929688 4.888113498687744 20.55640983581543 5.047863483428955 19.6158390045166 C5.207613468170166 18.67526626586914 5.430806636810303 17.755949020385742 5.721384525299072 16.859195709228516 C6.011961936950684 15.962444305419922 6.369924545288086 15.08825969696045 6.79921293258667 14.237956047058105 C7.228501796722412 13.387651443481445 7.729116916656494 12.561227798461914 8.305000305175781 11.75999927520752 L8.305000305175781 11.75999927520752\" fill=\"none\" filling=\"0\" stroke=\"grey\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M8.47499942779541 12.019999504089355 L8.47499942779541 12.019999504089355 C8.501413345336914 12.68033218383789 8.363285064697266 13.348946571350098 8.197225570678711 14.014058113098145 C8.03116512298584 14.679168701171875 7.8371734619140625 15.340776443481445 7.75186014175415 15.987093925476074 C7.60951042175293 17.06550407409668 7.546140193939209 18.15108299255371 7.51855993270874 19.23838233947754 C7.490979194641113 20.32568359375 7.499189376831055 21.414705276489258 7.5 22.5 L6.25 22.5 C6.267035484313965 21.292205810546875 6.313631057739258 20.079978942871094 6.43695592880249 18.8822021484375 C6.560280799865723 17.684425354003906 6.760334014892578 16.501100540161133 7.084285259246826 15.351106643676758 C7.408236503601074 14.201111793518066 7.856084823608398 13.084449768066406 8.47499942779541 12.019999504089355 L8.47499942779541 12.019999504089355\" fill=\"none\" filling=\"0\" stroke=\"steelblue\" stroke-opacity=\"1.0\" stroke-width=\".3\"/></svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "svg.draw_colored()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Rotation and grid displaying"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here is a code sample showing how one can duplicate an existing icon, rotate it and display both icons side-by-side."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "clock = SVG.load_svg(\"docs/imgs/clock.svg\")\n",
    "clock2 = clock.copy().rotate(Angle(45))\n",
    "clock3 = clock.copy().rotate(Angle(90))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"200px\" viewBox=\"0.0 0.0 72.0 24.0\" width=\"200px\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.0 1.1999998092651367 L12.0 1.1999998092651367 C12.599639892578125 1.2167272567749023 13.190882682800293 1.269815444946289 13.771734237670898 1.364969253540039 C14.352585792541504 1.4601240158081055 14.923046112060547 1.5973453521728516 15.481121063232422 1.7823429107666016 C16.039196014404297 1.9673395156860352 16.584884643554688 2.2001113891601562 17.116193771362305 2.486368179321289 C17.78725242614746 2.847919464111328 18.404462814331055 3.2739973068237305 18.96459197998047 3.7530059814453125 C19.52471923828125 4.2320146560668945 20.027767181396484 4.763954162597656 20.470497131347656 5.337228298187256 C20.91322898864746 5.9105024337768555 21.295644760131836 6.525111198425293 21.61450958251953 7.169458389282227 C21.93337631225586 7.81380558013916 22.188690185546875 8.487890243530273 22.377225875854492 9.1801176071167 C22.565757751464844 9.872344970703125 22.687509536743164 10.582714080810547 22.739242553710938 11.299631118774414 C22.790977478027344 12.016546249389648 22.772693634033203 12.740007400512695 22.68115997314453 13.458416938781738 C22.58962631225586 14.176827430725098 22.42484474182129 14.890188217163086 22.183574676513672 15.58690071105957 C21.942310333251953 16.283615112304688 21.62455940246582 16.963682174682617 21.227088928222656 17.61550521850586 C20.879169464111328 18.186077117919922 20.478076934814453 18.723716735839844 20.03133773803711 19.22030258178711 C19.584598541259766 19.716886520385742 19.092212677001953 20.17241668701172 18.561702728271484 20.578765869140625 C18.02568244934082 20.989334106445312 17.451356887817383 21.349117279052734 16.84866714477539 21.652496337890625 C16.245975494384766 21.95587158203125 15.614920616149902 22.202838897705078 14.96544361114502 22.38777732849121 C14.283864974975586 22.58185577392578 13.583539962768555 22.70754623413086 12.877620697021484 22.76451873779297 C12.171701431274414 22.821491241455078 11.460188865661621 22.80974578857422 10.756234169006348 22.728954315185547 C10.060449600219727 22.64910125732422 9.373579025268555 22.50028419494629 8.70754623413086 22.28652572631836 C8.041513442993164 22.072765350341797 7.39631986618042 21.79405975341797 6.78388786315918 21.454425811767578 C6.203630447387695 21.13263702392578 5.666511535644531 20.761558532714844 5.169857501983643 20.347427368164062 C4.6732025146484375 19.933292388916016 4.217012405395508 19.476102828979492 3.798611640930176 18.982088088989258 C3.3802099227905273 18.48807144165039 2.9995975494384766 17.957233428955078 2.654099464416504 17.39579963684082 L4.523279666900635 16.316640853881836 L6.392459869384766 15.237481117248535 L8.261639595031738 14.158320426940918 L10.130820274353027 13.0791597366333 L12.0 12.0 L12.0 9.84000015258789 L12.0 7.679999828338623 L12.0 5.5199995040893555 L12.0 3.359999656677246 L12.0 1.1999998092651367\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M12.0 1.3499994277954102 L12.0 1.3499994277954102 C12.544978141784668 1.365797996520996 13.082512855529785 1.4109621047973633 13.61170482635498 1.491011619567871 C14.140896797180176 1.5710601806640625 14.6617431640625 1.6859970092773438 15.173345565795898 1.8413400650024414 C15.68494987487793 1.9966821670532227 16.187305450439453 2.192432403564453 16.679519653320312 2.434110641479492 C17.329681396484375 2.753342628479004 17.933643341064453 3.1339073181152344 18.487796783447266 3.565664291381836 C19.041950225830078 3.9974193572998047 19.546293258666992 4.480368137359619 19.997220993041992 5.004366397857666 C20.44814682006836 5.528365135192871 20.845661163330078 6.0934157371521 21.18614959716797 6.689375877380371 C21.52663803100586 7.285336017608643 21.810108184814453 7.91220760345459 22.032941818237305 8.55984878540039 C22.255779266357422 9.207489967346191 22.417984008789062 9.875901222229004 22.515953063964844 10.55494213104248 C22.613924026489258 11.233983039855957 22.647655487060547 11.923652648925781 22.613544464111328 12.613813400268555 C22.579431533813477 13.303973197937012 22.47747802734375 13.994621276855469 22.30406951904297 14.675619125366211 C22.13066291809082 15.356616973876953 21.885805130004883 16.027963638305664 21.56589126586914 16.679519653320312 C21.30739974975586 17.205970764160156 21.00505828857422 17.710554122924805 20.663673400878906 18.187191009521484 C20.322284698486328 18.663827896118164 19.941856384277344 19.112518310546875 19.52718734741211 19.52718734741211 C19.04270362854004 20.011669158935547 18.511795043945312 20.449193954467773 17.944255828857422 20.83240509033203 C17.3767147064209 21.215618133544922 16.772541046142578 21.544519424438477 16.141521453857422 21.81175994873047 C15.48790168762207 22.088571548461914 14.807384490966797 22.29813003540039 14.11284065246582 22.438488006591797 C13.418295860290527 22.578845977783203 12.709726333618164 22.650001525878906 12.0 22.650001525878906 C11.290276527404785 22.650001525878906 10.581705093383789 22.578845977783203 9.88715934753418 22.438488006591797 C9.192614555358887 22.29813003540039 8.512096405029297 22.088571548461914 7.858476161956787 21.81175994873047 C7.2274580001831055 21.544519424438477 6.623283863067627 21.215618133544922 6.0557427406311035 20.83240509033203 C5.488202095031738 20.449193954467773 4.9572954177856445 20.011669158935547 4.472812175750732 19.52718734741211 C4.058143138885498 19.112516403198242 3.677713394165039 18.66382598876953 3.33632755279541 18.187191009521484 C2.9949417114257812 17.710552215576172 2.6926002502441406 17.205970764160156 2.434109687805176 16.67951774597168 C2.114194869995117 16.027963638305664 1.8693370819091797 15.356616020202637 1.6959295272827148 14.675618171691895 C1.5225229263305664 13.994620323181152 1.420567512512207 13.303972244262695 1.3864555358886719 12.613811492919922 C1.3523445129394531 11.923651695251465 1.3860759735107422 11.23398208618164 1.4840450286865234 10.554941177368164 C1.582015037536621 9.875900268554688 1.7442207336425781 9.207489013671875 1.9670581817626953 8.559847831726074 C2.1898937225341797 7.912206649780273 2.473360061645508 7.285336017608643 2.8138484954833984 6.689375877380371 C3.1543378829956055 6.0934157371521 3.5518503189086914 5.528365612030029 4.00277853012085 5.004367351531982 C4.45370626449585 4.480368614196777 4.95805025100708 3.997420310974121 5.512202739715576 3.565664291381836 C6.066356182098389 3.133908271789551 6.670317649841309 2.753342628479004 7.320480823516846 2.434109687805176 C7.8126935958862305 2.1924314498901367 8.315052032470703 1.9966821670532227 8.826654434204102 1.841339111328125 C9.3382568359375 1.6859960556030273 9.859103202819824 1.5710601806640625 10.38829517364502 1.491011619567871 C10.917486190795898 1.4109611511230469 11.455020904541016 1.365797996520996 12.0 1.3499994277954102 L12.0 1.3499994277954102\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M12.149999618530273 1.3512001037597656 L12.149999618530273 1.3512001037597656 C12.755365371704102 1.3770217895507812 13.351300239562988 1.4405651092529297 13.935590744018555 1.5475244522094727 C14.519881248474121 1.654484748840332 15.092530250549316 1.804861068725586 15.651322364807129 2.004347801208496 C16.210113525390625 2.2038326263427734 16.755048751831055 2.45242977142334 17.28391456604004 2.7558298110961914 C17.908357620239258 3.114060401916504 18.483491897583008 3.5298023223876953 19.006362915039062 3.9929094314575195 C19.529232025146484 4.456015586853027 19.999841690063477 4.966487407684326 20.415237426757812 5.514179229736328 C20.830631256103516 6.06187105178833 21.190811157226562 6.646782875061035 21.492820739746094 7.258769989013672 C21.79483413696289 7.870757102966309 22.038681030273438 8.509819030761719 22.22140884399414 9.165811538696289 C22.404136657714844 9.82180404663086 22.525745391845703 10.494725227355957 22.583282470703125 11.174433708190918 C22.640823364257812 11.854140281677246 22.634288787841797 12.540632247924805 22.560731887817383 13.223764419555664 C22.48717498779297 13.906896591186523 22.346599578857422 14.586669921875 22.13604736328125 15.252938270568848 C21.925493240356445 15.919205665588379 21.64496612548828 16.571969985961914 21.29151153564453 17.201082229614258 C20.956851959228516 17.796743392944336 20.564613342285156 18.359458923339844 20.122859954833984 18.88018798828125 C19.681106567382812 19.400917053222656 19.189838409423828 19.87965965270996 18.65711212158203 20.307376861572266 C18.119850158691406 20.73873519897461 17.54103660583496 21.11758041381836 16.931339263916016 21.437482833862305 C16.321640014648438 21.75738525390625 15.681058883666992 22.01834487915039 15.02026081085205 22.213939666748047 C14.343511581420898 22.41425323486328 13.646895408630371 22.546146392822266 12.944112777709961 22.608367919921875 C12.241328239440918 22.670589447021484 11.532376289367676 22.66314697265625 10.83095645904541 22.584796905517578 C10.321630477905273 22.527904510498047 9.817052841186523 22.43340492248535 9.321946144104004 22.303218841552734 C8.826839447021484 22.17303466796875 8.341202735900879 22.007158279418945 7.869757175445557 21.807510375976562 C7.398311138153076 21.60786247253418 6.9410552978515625 21.37444305419922 6.502710342407227 21.10916519165039 C5.99811315536499 20.803794860839844 5.530083656311035 20.460420608520508 5.0953450202941895 20.083316802978516 C4.6606059074401855 19.706212997436523 4.259158134460449 19.295379638671875 3.887725830078125 18.855087280273438 C3.516293525695801 18.414793014526367 3.174877166748047 17.94504165649414 2.8601999282836914 17.45009994506836 L4.718160152435303 16.37742042541504 L6.576119899749756 15.304739952087402 L8.434080123901367 14.232060432434082 L10.29203987121582 13.159379959106445 L12.149999618530273 12.086700439453125 L12.149999618530273 9.939599990844727 L12.149999618530273 7.7925004959106445 L12.149999618530273 5.645400047302246 L12.149999618530273 3.4982995986938477 L12.149999618530273 1.3512001037597656\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M12.0 1.5 L12.0 1.5 C12.537299156188965 1.5155763626098633 13.067259788513184 1.560105323791504 13.588993072509766 1.6390295028686523 C14.110725402832031 1.7179527282714844 14.62423324584961 1.8312721252441406 15.12862491607666 1.9844293594360352 C15.633017539978027 2.1375865936279297 16.1282958984375 2.330580711364746 16.613571166992188 2.568857192993164 C17.254573822021484 2.883596420288086 17.850027084350586 3.258800506591797 18.396373748779297 3.684476852416992 C18.942720413208008 4.1101508140563965 19.43996238708496 4.586295127868652 19.884540557861328 5.102911472320557 C20.329120635986328 5.619527816772461 20.72103500366211 6.1766157150268555 21.056732177734375 6.764179229736328 C21.39242935180664 7.351742267608643 21.67190933227539 7.969779968261719 21.89160919189453 8.608295440673828 C22.111310958862305 9.246809959411621 22.271236419677734 9.905803680419922 22.367828369140625 10.575275421142578 C22.464420318603516 11.24474811553955 22.4976806640625 11.924701690673828 22.46405029296875 12.605138778686523 C22.430419921875 13.285573959350586 22.329898834228516 13.966493606567383 22.158935546875 14.637897491455078 C21.98796844482422 15.309301376342773 21.746559143066406 15.971192359924316 21.431142807006836 16.613571166992188 C21.176288604736328 17.132610321044922 20.878204345703125 17.630084991455078 20.541622161865234 18.10000991821289 C20.20504379272461 18.569934844970703 19.82996940612793 19.012306213378906 19.421138763427734 19.4211368560791 C18.943477630615234 19.89879608154297 18.420045852661133 20.330162048339844 17.860498428344727 20.70798110961914 C17.300949096679688 21.085800170898438 16.705284118652344 21.41007423400879 16.083152770996094 21.673553466796875 C15.438745498657227 21.946468353271484 14.767818450927734 22.153079986572266 14.083063125610352 22.291461944580078 C13.398306846618652 22.429845809936523 12.699721336364746 22.5 12.0 22.5 C11.300275802612305 22.5 10.601691246032715 22.42984390258789 9.916934967041016 22.291461944580078 C9.232178688049316 22.153076171875 8.561251640319824 21.94646453857422 7.916845321655273 21.673551559448242 C7.294714450836182 21.410072326660156 6.699049472808838 21.085800170898438 6.139501571655273 20.70798110961914 C5.579953670501709 20.330163955688477 5.056522846221924 19.898799896240234 4.578862190246582 19.421138763427734 C4.170032978057861 19.012310028076172 3.7949581146240234 18.569934844970703 3.458376884460449 18.10000991821289 C3.1217966079711914 17.630084991455078 2.823709487915039 17.13260841369629 2.5688562393188477 16.613571166992188 C2.25344181060791 15.97119140625 2.0120296478271484 15.309300422668457 1.8410654067993164 14.637896537780762 C1.670100212097168 13.96649169921875 1.5695810317993164 13.28557300567627 1.5359516143798828 12.60513687133789 C1.5023202896118164 11.924701690673828 1.5355806350708008 11.24474811553955 1.6321735382080078 10.575275421142578 C1.7287654876708984 9.905803680419922 1.8886909484863281 9.246809959411621 2.1083927154541016 8.608295440673828 C2.328094482421875 7.969779968261719 2.607571601867676 7.351741790771484 2.943267822265625 6.764179229736328 C3.278964042663574 6.1766157150268555 3.6708812713623047 5.619527816772461 4.115458965301514 5.102911472320557 C4.560037612915039 4.5862956047058105 5.057279109954834 4.1101508140563965 5.603626251220703 3.684476852416992 C6.149973392486572 3.258800506591797 6.745426654815674 2.8835954666137695 7.3864288330078125 2.5688562393188477 C7.8717041015625 2.330580711364746 8.366981506347656 2.1375865936279297 8.871374130249023 1.9844293594360352 C9.37576675415039 1.8312721252441406 9.889273643493652 1.7179527282714844 10.411006927490234 1.6390295028686523 C10.932741165161133 1.560105323791504 11.462700843811035 1.5155763626098633 12.0 1.5 L12.0 1.5\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M12.300000190734863 1.5041999816894531 L12.300000190734863 1.5041999816894531 C12.844749450683594 1.535660743713379 13.38099479675293 1.596853256225586 13.907636642456055 1.6932592391967773 C14.434276580810547 1.7896671295166016 14.951310157775879 1.9212865829467773 15.457635879516602 2.0936050415039062 C15.963960647583008 2.2659215927124023 16.459579467773438 2.4789352416992188 16.943384170532227 2.7381277084350586 C17.548694610595703 3.0624160766601562 18.12134552001953 3.446436882019043 18.65180015563965 3.8818883895874023 C19.182254791259766 4.31734037399292 19.670515060424805 4.804223537445068 20.107044219970703 5.334237575531006 C20.483245849609375 5.791000843048096 20.82076644897461 6.279367446899414 21.11509132385254 6.792486667633057 C21.40941619873047 7.305605888366699 21.660539627075195 7.843478202819824 21.86394691467285 8.399252891540527 C22.120418548583984 9.100018501281738 22.294525146484375 9.812751770019531 22.391679763793945 10.526815414428711 C22.488834381103516 11.240880966186523 22.50904083251953 11.956277847290039 22.457712173461914 12.662372589111328 C22.406383514404297 13.3684663772583 22.283519744873047 14.06525707244873 22.094533920288086 14.742108345031738 C21.90555191040039 15.418960571289062 21.65044593811035 16.07587432861328 21.334640502929688 16.702213287353516 C21.018829345703125 17.328554153442383 20.642318725585938 17.924320220947266 20.21051597595215 18.47887420654297 C19.77871322631836 19.033430099487305 19.291622161865234 19.546775817871094 18.754657745361328 20.008281707763672 C18.21769142150879 20.46978187561035 17.630849838256836 20.879440307617188 16.999549865722656 21.22661590576172 C16.36825180053711 21.573793411254883 15.69249153137207 21.858489990234375 14.977688789367676 22.070072174072266 C14.302947044372559 22.269794464111328 13.608194351196289 22.40052032470703 12.907378196716309 22.46098518371582 C12.206562042236328 22.521453857421875 11.499685287475586 22.51166534423828 10.800694465637207 22.430360794067383 C10.114927291870117 22.350595474243164 9.438016891479492 22.201705932617188 8.781991958618164 21.988435745239258 C8.125967025756836 21.775165557861328 7.490827560424805 21.497516632080078 6.888599872589111 21.160236358642578 C6.360451698303223 20.864442825317383 5.870121955871582 20.527042388916016 5.414330959320068 20.15279197692871 C4.958540439605713 19.778541564941406 4.537288188934326 19.36744499206543 4.147293567657471 18.92426109313965 C3.757298469543457 18.481075286865234 3.3985605239868164 18.005802154541016 3.0677995681762695 17.50320053100586 L4.914239883422852 16.43718147277832 L6.760679244995117 15.371160507202148 L8.607120513916016 14.305139541625977 L10.453559875488281 13.239120483398438 L12.300000190734863 12.173099517822266 L12.300000190734863 10.03931999206543 L12.300000190734863 7.9055399894714355 L12.300000190734863 5.771759986877441 L12.300000190734863 3.637979507446289 L12.300000190734863 1.5041999816894531\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M1.1999998092651367 12.0 L1.1999998092651367 12.0 C1.2167272567749023 11.400360107421875 1.269815444946289 10.80911636352539 1.364969253540039 10.228264808654785 C1.4601240158081055 9.64741325378418 1.5973453521728516 9.07695198059082 1.7823429107666016 8.518877983093262 C1.9673395156860352 7.960803031921387 2.2001113891601562 7.415114402770996 2.486368179321289 6.883805751800537 C2.8219614028930664 6.260926246643066 3.214078903198242 5.683226585388184 3.653360366821289 5.153865337371826 C4.0926408767700195 4.6245036125183105 4.5790863037109375 4.143479824066162 5.103334426879883 3.7139511108398438 C5.627582550048828 3.2844228744506836 6.189634323120117 2.9063901901245117 6.780128002166748 2.5830116271972656 C7.370622158050537 2.2596330642700195 7.989558219909668 1.9909076690673828 8.627575874328613 1.779994010925293 C9.265593528747559 1.5690803527832031 9.92269229888916 1.4159793853759766 10.589513778686523 1.3238487243652344 C11.256333351135254 1.2317171096801758 11.93287467956543 1.2005548477172852 12.60977554321289 1.2335214614868164 C13.286677360534668 1.2664871215820312 13.96393871307373 1.363581657409668 14.63219928741455 1.5279607772827148 C15.300459861755371 1.6923408508300781 15.95971965789795 1.9240055084228516 16.600618362426758 2.226116180419922 C17.206493377685547 2.5117149353027344 17.78491973876953 2.85427188873291 18.327116012573242 3.2468976974487305 C18.86931037902832 3.639524459838867 19.375272750854492 4.082220077514648 19.836225509643555 4.5680975914001465 C20.298107147216797 5.054956912994385 20.714290618896484 5.584667682647705 21.078250885009766 6.14808464050293 C21.442209243774414 6.711501121520996 21.753944396972656 7.308623790740967 22.00693130493164 7.930305004119873 C22.26931381225586 8.575075149536133 22.46758270263672 9.244503021240234 22.60025405883789 9.926736831665039 C22.732925415039062 10.608970642089844 22.799999237060547 11.304009437561035 22.799999237060547 12.0 C22.799999237060547 12.695989608764648 22.732925415039062 13.39102840423584 22.60025405883789 14.073262214660645 C22.46758270263672 14.75549602508545 22.269319534301758 15.424924850463867 22.006935119628906 16.06969451904297 C21.753952026367188 16.691377639770508 21.442214965820312 17.288497924804688 21.07825469970703 17.851913452148438 C20.714296340942383 18.415328979492188 20.298114776611328 18.945039749145508 19.836231231689453 19.43189811706543 C19.375282287597656 19.917774200439453 18.86931800842285 20.3604736328125 18.32712173461914 20.753097534179688 C17.78492546081543 21.14572525024414 17.206499099731445 21.488283157348633 16.600624084472656 21.773881912231445 C15.959724426269531 22.07598876953125 15.300463676452637 22.30765724182129 14.632203102111816 22.472034454345703 C13.963942527770996 22.636417388916016 13.286680221557617 22.733509063720703 12.609779357910156 22.766475677490234 C11.932878494262695 22.799442291259766 11.256336212158203 22.768281936645508 10.589515686035156 22.676151275634766 C9.922696113586426 22.584020614624023 9.265596389770508 22.430919647216797 8.627578735351562 22.220006942749023 C7.989560127258301 22.00909423828125 7.370624542236328 21.740371704101562 6.780130386352539 21.4169921875 C6.18963623046875 21.093616485595703 5.627584934234619 20.71558380126953 5.103336811065674 20.286052703857422 C4.57908821105957 19.856525421142578 4.092642784118652 19.37550163269043 3.6533613204956055 18.846139907836914 C3.2140798568725586 18.3167781829834 2.8219614028930664 17.739078521728516 2.486368179321289 17.11619758605957 C2.2001113891601562 16.584888458251953 1.9673385620117188 16.039199829101562 1.7823410034179688 15.481124877929688 C1.5973453521728516 14.923049926757812 1.4601240158081055 14.35258960723877 1.3649682998657227 13.771736145019531 C1.269815444946289 13.190884590148926 1.2167282104492188 12.599640846252441 1.1999998092651367 12.0 L1.1999998092651367 12.0\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M43.63675308227539 4.363246917724609 L43.63675308227539 4.363246917724609 C44.04893493652344 4.799084186553955 44.429466247558594 5.254694938659668 44.77290725708008 5.73270320892334 C45.11634826660156 6.21071195602417 45.422691345214844 6.711117744445801 45.686500549316406 7.236549377441406 C45.9503059387207 7.761981010437012 46.17156982421875 8.312435150146484 46.3448486328125 8.890542030334473 C46.56370544433594 9.620707511901855 46.6988525390625 10.358423233032227 46.75621795654297 11.093204498291016 C46.813575744628906 11.827984809875488 46.79314422607422 12.559831619262695 46.700836181640625 13.278255462646484 C46.60852813720703 13.996679306030273 46.44434356689453 14.701682090759277 46.214195251464844 15.382776260375977 C45.98404312133789 16.063871383666992 45.68792724609375 16.721054077148438 45.331764221191406 17.343849182128906 C44.9755973815918 17.96664047241211 44.559383392333984 18.555038452148438 44.089027404785156 19.098556518554688 C43.618675231933594 19.642072677612305 43.094181060791016 20.140708923339844 42.52146530151367 20.58397674560547 C41.94874572753906 21.027246475219727 41.32780456542969 21.415149688720703 40.66455078125 21.737197875976562 C40.00130081176758 22.059247970581055 39.295738220214844 22.315444946289062 38.553775787353516 22.495298385620117 C37.90430450439453 22.652738571166992 37.24052047729492 22.749290466308594 36.573486328125 22.78453826904297 C35.906455993652344 22.81978416442871 35.236183166503906 22.79372215270996 34.57372283935547 22.705928802490234 C33.904380798339844 22.617219924926758 33.243865966796875 22.46551513671875 32.603179931640625 22.25387191772461 C31.962493896484375 22.042221069335938 31.341638565063477 21.770631790161133 30.751617431640625 21.442153930664062 C30.132434844970703 21.09743881225586 29.54835319519043 20.69110870361328 29.008907318115234 20.232234954833984 C28.46946144104004 19.773361206054688 27.974651336669922 19.261940002441406 27.534008026123047 18.707040786743164 C27.098480224609375 18.15858268737793 26.718017578125 17.56766128540039 26.398212432861328 16.945556640625 C26.078407287597656 16.323448181152344 25.819259643554688 15.67015266418457 25.62636375427246 14.996940612792969 C25.4435977935791 14.35909652709961 25.326190948486328 13.716904640197754 25.267837524414062 13.072882652282715 C25.209487915039062 12.42885684967041 25.210193634033203 11.782999038696289 25.263660430908203 11.137825012207031 C25.317129135131836 10.492647171020508 25.423355102539062 9.848154067993164 25.5760440826416 9.206856727600098 L27.66083526611328 9.765486717224121 L29.745624542236328 10.324115753173828 L31.83041763305664 10.882742881774902 L33.91520690917969 11.44137191772461 L36.0 12.0 L37.52735137939453 10.472649574279785 L39.05470275878906 8.94529914855957 L40.582054138183594 7.417947769165039 L42.10940170288086 5.890597343444824 L43.63675308227539 4.363246917724609\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M43.53068542480469 4.46931266784668 L43.53068542480469 4.46931266784668 C43.90487289428711 4.865841865539551 44.25303268432617 5.277872085571289 44.57062530517578 5.708670616149902 C44.888214111328125 6.139468669891357 45.17523956298828 6.5890350341796875 45.42715072631836 7.0606369972229 C45.6790657043457 7.532238960266113 45.895870208740234 8.025874137878418 46.07302474975586 8.544815063476562 C46.307029724121094 9.230279922485352 46.46499252319336 9.926445007324219 46.55154037475586 10.623588562011719 C46.638092041015625 11.320732116699219 46.65321731567383 12.018852233886719 46.60154724121094 12.708229064941406 C46.54988098144531 13.397605895996094 46.43141174316406 14.078241348266602 46.25076675415039 14.740410804748535 C46.07012176513672 15.402579307556152 45.827301025390625 16.046287536621094 45.52691650390625 16.661808013916016 C45.226531982421875 17.277328491210938 44.86859130859375 17.864662170410156 44.45771026611328 18.414091110229492 C44.04683303833008 18.96352195739746 43.58301544189453 19.47504425048828 43.07087707519531 19.938940048217773 C42.558738708496094 20.402835845947266 41.99828338623047 20.819107055664062 41.394126892089844 21.17802619934082 C40.789974212646484 21.53694725036621 40.142120361328125 21.838520050048828 39.45518493652344 22.073026657104492 C38.900146484375 22.262502670288086 38.329566955566406 22.40550994873047 37.751136779785156 22.50114631652832 C37.172706604003906 22.596782684326172 36.586429595947266 22.645050048828125 36.0 22.645050048828125 C35.31483840942383 22.645048141479492 34.63005065917969 22.579015731811523 33.95777130126953 22.44867706298828 C33.285484313964844 22.318336486816406 32.625701904296875 22.12369155883789 31.990535736083984 21.866458892822266 C31.332622528076172 21.60001564025879 30.703243255615234 21.266998291015625 30.112878799438477 20.87512969970703 C29.52251434326172 20.483261108398438 28.97116470336914 20.03253936767578 28.469310760498047 19.530689239501953 C27.96746063232422 19.028839111328125 27.516740798950195 18.477487564086914 27.12487030029297 17.887121200561523 C26.733001708984375 17.296756744384766 26.399982452392578 16.667377471923828 26.13353729248047 16.009462356567383 C25.87630844116211 15.374298095703125 25.68166160583496 14.714513778686523 25.55132293701172 14.042228698730469 C25.420982360839844 13.369945526123047 25.354949951171875 12.685161590576172 25.354949951171875 12.0 C25.354949951171875 11.413567543029785 25.403217315673828 10.827291488647461 25.49885368347168 10.248863220214844 C25.594491958618164 9.670433044433594 25.737497329711914 9.099851608276367 25.92697525024414 8.54481315612793 C26.161479949951172 7.857880592346191 26.463054656982422 7.210025787353516 26.82197380065918 6.605869770050049 C27.180896759033203 6.001714706420898 27.597164154052734 5.441259384155273 28.06106185913086 4.929121017456055 C28.52495765686035 4.4169840812683105 29.036479949951172 3.9531660079956055 29.585906982421875 3.542285919189453 C30.135337829589844 3.131406784057617 30.722671508789062 2.773466110229492 31.338193893432617 2.47308349609375 C31.95371437072754 2.172700881958008 32.59741973876953 1.9298782348632812 33.25959014892578 1.749232292175293 C33.92176055908203 1.5685863494873047 34.602394104003906 1.4501190185546875 35.291770935058594 1.3984508514404297 C35.98114776611328 1.3467826843261719 36.67926788330078 1.3619117736816406 37.37641143798828 1.4484586715698242 C38.07355499267578 1.5350074768066406 38.769718170166016 1.6929712295532227 39.45518493652344 1.9269742965698242 C39.974124908447266 2.1041297912597656 40.4677619934082 2.320934295654297 40.939361572265625 2.572847366333008 C41.41096496582031 2.824761390686035 41.860530853271484 3.111783981323242 42.29132843017578 3.429375648498535 C42.722129821777344 3.7469654083251953 43.1341552734375 4.095125675201416 43.53068542480469 4.46931266784668 L43.53068542480469 4.46931266784668\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M43.635902404785156 4.576227188110352 L43.635902404785156 4.576227188110352 C44.04570388793945 5.022543907165527 44.42216110229492 5.488865375518799 44.75968551635742 5.977653503417969 C45.09720993041992 6.4664411544799805 45.39580154418945 6.977697372436523 45.64986801147461 7.513881683349609 C45.90393829345703 8.050064086914062 46.11347961425781 8.611175537109375 46.27290725708008 9.199676513671875 C46.46114730834961 9.89453125 46.5738525390625 10.595186233520508 46.61611557006836 11.292378425598145 C46.65837097167969 11.989568710327148 46.63018798828125 12.683298110961914 46.53664016723633 13.364303588867188 C46.443092346191406 14.045308113098145 46.2841796875 14.71358871459961 46.06499481201172 15.359882354736328 C45.84580993652344 16.00617790222168 45.566349029541016 16.630489349365234 45.2317008972168 17.223552703857422 C44.89705276489258 17.816617965698242 44.50721740722656 18.378437042236328 44.06727600097656 18.89974594116211 C43.62733459472656 19.421058654785156 43.137290954589844 19.90186309814453 42.60223388671875 20.332897186279297 C42.06717300415039 20.763931274414062 41.487098693847656 21.14520263671875 40.86709213256836 21.46744155883789 C40.24708557128906 21.78968048095703 39.58715057373047 22.05289077758789 38.892372131347656 22.24781036376953 C38.234535217285156 22.4323673248291 37.55928039550781 22.552913665771484 36.878700256347656 22.60875701904297 C36.198123931884766 22.664600372314453 35.51222229003906 22.655744552612305 34.83308792114258 22.581491470336914 C34.148170471191406 22.506607055664062 33.47100067138672 22.36520767211914 32.81367492675781 22.16029167175293 C32.156349182128906 21.955373764038086 31.518861770629883 21.686941146850586 30.913301467895508 21.35799217224121 C30.29312515258789 21.021102905273438 29.707279205322266 20.621782302856445 29.166339874267578 20.168838500976562 C28.625398635864258 19.715890884399414 28.129356384277344 19.20932388305664 27.688779830932617 18.657943725585938 C27.36886215209961 18.257566452026367 27.07889175415039 17.833953857421875 26.82085418701172 17.39180564880371 C26.562814712524414 16.949657440185547 26.33670997619629 16.488967895507812 26.144519805908203 16.014434814453125 C25.952329635620117 15.539899826049805 25.79405403137207 15.051518440246582 25.671676635742188 14.55398178100586 C25.53080177307129 13.98124885559082 25.442657470703125 13.407499313354492 25.40190315246582 12.833438873291016 C25.361148834228516 12.259380340576172 25.367786407470703 11.68501091003418 25.41647720336914 11.111034393310547 C25.46516990661621 10.537057876586914 25.55591583251953 9.963475227355957 25.68338394165039 9.39098834991455 L27.755657196044922 9.94626522064209 L29.82793426513672 10.501541137695312 L31.900209426879883 11.056818962097168 L33.97248458862305 11.61209487915039 L36.044761657714844 12.16737174987793 L37.56298828125 10.64914321899414 L39.081214904785156 9.130914688110352 L40.59944534301758 7.612685203552246 L42.11767578125 6.094455718994141 L43.635902404785156 4.576227188110352\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M43.42462158203125 4.575378894805908 L43.42462158203125 4.575378894805908 C43.79353332519531 4.966320991516113 44.13678741455078 5.372546672821045 44.44990158081055 5.797275066375732 C44.76301574707031 6.222002983093262 45.045989990234375 6.665236949920654 45.294349670410156 7.130193710327148 C45.54270935058594 7.595151901245117 45.7564582824707 8.08183479309082 45.931114196777344 8.593461990356445 C46.16181564331055 9.26927375793457 46.31755447387695 9.955633163452148 46.40288162231445 10.642955780029297 C46.48821258544922 11.330278396606445 46.50312805175781 12.018566131591797 46.45219039916992 12.698234558105469 C46.40125274658203 13.37790298461914 46.28445816040039 14.048948287963867 46.106361389160156 14.701791763305664 C45.92826461791992 15.354636192321777 45.68886947631836 15.989276885986328 45.392723083496094 16.596126556396484 C45.09657669067383 17.20297622680664 44.743682861328125 17.782039642333984 44.338592529296875 18.323728561401367 C43.93350601196289 18.86541748046875 43.476226806640625 19.36973762512207 42.9713020324707 19.827098846435547 C42.46638488769531 20.28445816040039 41.913818359375 20.694862365722656 41.31817626953125 21.04872703552246 C40.722530364990234 21.402589797973633 40.08380126953125 21.699914932250977 39.40653991699219 21.93111228942871 C38.85931396484375 22.117919921875 38.29676818847656 22.258909225463867 37.726478576660156 22.35319709777832 C37.15619659423828 22.447486877441406 36.57817459106445 22.495073318481445 36.0 22.495073318481445 C35.324485778808594 22.495071411132812 34.64934539794922 22.42997169494629 33.98652648925781 22.301471710205078 C33.323707580566406 22.1729679107666 32.67321014404297 21.98106575012207 32.04698944091797 21.727458953857422 C31.398345947265625 21.46477508544922 30.77783203125 21.136455535888672 30.195785522460938 20.750110626220703 C29.613737106323242 20.363765716552734 29.07015609741211 19.91939926147461 28.57537841796875 19.42462158203125 C28.080598831176758 18.929841995239258 27.636234283447266 18.386260986328125 27.249889373779297 17.80421257019043 C26.86354637145996 17.222164154052734 26.53522491455078 16.60165023803711 26.272541046142578 15.953007698059082 C26.01893424987793 15.326786041259766 25.827030181884766 14.676292419433594 25.698528289794922 14.013474464416504 C25.570026397705078 13.35065746307373 25.504924774169922 12.675515174865723 25.504924774169922 12.000000953674316 C25.504924774169922 11.421829223632812 25.552513122558594 10.843805313110352 25.646800994873047 10.273518562316895 C25.741090774536133 9.70323371887207 25.882080078125 9.140685081481934 26.068885803222656 8.593461990356445 C26.300086975097656 7.916199207305908 26.597410202026367 7.277467250823975 26.951274871826172 6.681822776794434 C27.305137634277344 6.086177349090576 27.71554183959961 5.53361701965332 28.17290496826172 5.0286970138549805 C28.630264282226562 4.523775577545166 29.13458251953125 4.066494464874268 29.676273345947266 3.661407470703125 C30.217960357666016 3.256319999694824 30.79702377319336 2.9034252166748047 31.40387535095215 2.607280731201172 C32.01072692871094 2.3111343383789062 32.645362854003906 2.071735382080078 33.29821014404297 1.8936386108398438 C33.9510498046875 1.7155418395996094 34.622100830078125 1.5987491607666016 35.30176544189453 1.5478096008300781 C35.9814338684082 1.4968719482421875 36.66971969604492 1.511789321899414 37.3570442199707 1.5971183776855469 C38.044368743896484 1.6824455261230469 38.73072814941406 1.8381843566894531 39.40653991699219 2.0688867568969727 C39.91816711425781 2.243541717529297 40.40484619140625 2.4572887420654297 40.86980438232422 2.7056493759155273 C41.33476257324219 2.9540109634399414 41.77799606323242 3.2369861602783203 42.20272445678711 3.5500993728637695 C42.62745666503906 3.863213539123535 43.0336799621582 4.206464767456055 43.42462158203125 4.575378894805908 L43.42462158203125 4.575378894805908\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M43.63378143310547 4.790480613708496 L43.63378143310547 4.790480613708496 C43.996734619140625 5.197923183441162 44.332645416259766 5.620375633239746 44.636871337890625 6.060936450958252 C44.94108963012695 6.501497745513916 45.213619232177734 6.960165023803711 45.449798583984375 7.440038681030273 C45.68597412109375 7.919910430908203 45.885807037353516 8.420989036560059 46.04463195800781 8.946367263793945 C46.24334716796875 9.603693008422852 46.37672805786133 10.280162811279297 46.443904876708984 10.96316146850586 C46.51108169555664 11.646160125732422 46.512054443359375 12.33569049835205 46.445953369140625 13.019140243530273 C46.38898468017578 13.608135223388672 46.28232192993164 14.19212532043457 46.12760925292969 14.76307487487793 C45.972900390625 15.334024429321289 45.770137786865234 15.891927719116211 45.52097702026367 16.42875099182129 C45.20681381225586 17.105621337890625 44.82594680786133 17.732709884643555 44.38972473144531 18.30632781982422 C43.9535026550293 18.879947662353516 43.46192932128906 19.400096893310547 42.926353454589844 19.863086700439453 C42.390769958496094 20.32607650756836 41.811187744140625 20.731903076171875 41.198951721191406 21.07687759399414 C40.58671188354492 21.421852111816406 39.94181823730469 21.705974578857422 39.27561950683594 21.925554275512695 C38.60942077636719 22.145132064819336 37.921913146972656 22.300168991088867 37.224456787109375 22.386966705322266 C36.52699279785156 22.473766326904297 35.819580078125 22.492332458496094 35.113555908203125 22.438974380493164 C34.40753173828125 22.38561248779297 33.70289993286133 22.260324478149414 33.01101303100586 22.059417724609375 C32.31912612915039 21.8585147857666 31.63998031616211 21.58199119567871 30.984928131103516 21.226160049438477 C30.366588592529297 20.890270233154297 29.782886505126953 20.491443634033203 29.244579315185547 20.038646697998047 C28.706270217895508 19.585853576660156 28.213354110717773 19.07909393310547 27.77658462524414 18.527341842651367 C27.34807586669922 17.98602867126465 26.974708557128906 17.402099609375 26.66163444519043 16.78741455078125 C26.348560333251953 16.1727294921875 26.095775604248047 15.527292251586914 25.908428192138672 14.862959861755371 C25.744129180908203 14.28034496307373 25.6359920501709 13.695051193237305 25.57833480834961 13.108123779296875 C25.52067756652832 12.521196365356445 25.51349639892578 11.932636260986328 25.551105499267578 11.343490600585938 C25.58871841430664 10.754342079162598 25.671119689941406 10.164607048034668 25.79262924194336 9.57533073425293 L27.85205078125 10.127172470092773 L29.911470413208008 10.679011344909668 L31.97089195251465 11.230852127075195 L34.030311584472656 11.782691955566406 L36.0897331237793 12.334531784057617 L37.598541259765625 10.825721740722656 L39.10735321044922 9.316911697387695 L40.61616516113281 7.808101177215576 L42.12497329711914 6.299290657043457 L43.63378143310547 4.790480613708496\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M28.36324691772461 4.363246917724609 L28.36324691772461 4.363246917724609 C28.799083709716797 3.9510650634765625 29.254695892333984 3.5705318450927734 29.732704162597656 3.2270917892456055 C30.210712432861328 2.883652687072754 30.711118698120117 2.5773048400878906 31.236549377441406 2.31350040435791 C31.761981964111328 2.049694061279297 32.312435150146484 1.8284292221069336 32.890541076660156 1.6551513671875 C33.56828308105469 1.4520092010498047 34.254051208496094 1.3207817077636719 34.93898010253906 1.2570858001708984 C35.62391662597656 1.193389892578125 36.308021545410156 1.1972236633300781 36.982444763183594 1.264200210571289 C37.656864166259766 1.3311767578125 38.32160186767578 1.4612979888916016 38.967811584472656 1.650177001953125 C39.614013671875 1.8390560150146484 40.2416877746582 2.0866928100585938 40.84197235107422 2.388700485229492 C41.442256927490234 2.690709114074707 42.01515197753906 3.047088623046875 42.551815032958984 3.4534568786621094 C43.08847427368164 3.859823226928711 43.588897705078125 4.316174507141113 44.044227600097656 4.818126678466797 C44.49955749511719 5.320078372955322 44.90979766845703 5.867630958557129 45.26609802246094 6.456396102905273 C45.62239074707031 7.045161724090576 45.924747467041016 7.675140380859375 46.164306640625 8.341948509216309 C46.390777587890625 8.97231674194336 46.55756378173828 9.623549461364746 46.66332244873047 10.284568786621094 C46.76908493041992 10.945587158203125 46.813819885253906 11.616389274597168 46.79619598388672 12.285900115966797 C46.778533935546875 12.95676040649414 46.69825744628906 13.625608444213867 46.557220458984375 14.281363487243652 C46.41618347167969 14.937116622924805 46.214385986328125 15.5797758102417 45.953678131103516 16.198259353637695 C45.68328857421875 16.83971405029297 45.350128173828125 17.45326805114746 44.96152877807617 18.02949333190918 C44.57292938232422 18.605716705322266 44.12889099121094 19.14461326599121 43.63675308227539 19.63675308227539 C43.144615173339844 20.128890991210938 42.60572052001953 20.57292938232422 42.02949523925781 20.961528778076172 C41.453269958496094 21.350128173828125 40.839717864990234 21.683292388916016 40.198265075683594 21.95368003845215 C39.57978057861328 22.21438980102539 38.9371223449707 22.416187286376953 38.281368255615234 22.557222366333008 C37.625614166259766 22.698261260986328 36.95676803588867 22.77853775024414 36.28590774536133 22.79619789123535 C35.61640167236328 22.813823699951172 34.945594787597656 22.769088745117188 34.284576416015625 22.6633243560791 C33.623558044433594 22.55756378173828 32.972320556640625 22.39078140258789 32.34195327758789 22.164310455322266 C31.675148010253906 21.924747467041016 31.045166015625 21.622394561767578 30.456401824951172 21.266094207763672 C29.867633819580078 20.909799575805664 29.320083618164062 20.499557495117188 28.818130493164062 20.044227600097656 C28.316179275512695 19.588897705078125 27.859825134277344 19.08847427368164 27.453458786010742 18.551815032958984 C27.04709243774414 18.015155792236328 26.690711975097656 17.442258834838867 26.388702392578125 16.84197425842285 C26.086692810058594 16.241689682006836 25.839054107666016 15.614019393920898 25.650177001953125 14.967813491821289 C25.461294174194336 14.321609497070312 25.331172943115234 13.65687084197998 25.264198303222656 12.982446670532227 C25.197219848632812 12.308025360107422 25.19338607788086 11.623921394348145 25.257083892822266 10.938987731933594 C25.32077980041504 10.254053115844727 25.45200538635254 9.56828784942627 25.655147552490234 8.890544891357422 C25.828426361083984 8.312438011169434 26.04969024658203 7.7619829177856445 26.31349754333496 7.236550807952881 C26.57730484008789 6.71112060546875 26.883651733398438 6.210714340209961 27.22709083557129 5.732703685760498 C27.57052993774414 5.254696369171143 27.951065063476562 4.79908561706543 28.36324691772461 4.363246917724609 L28.36324691772461 4.363246917724609\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M70.80000305175781 12.0 L70.80000305175781 12.0 C70.78327178955078 12.599639892578125 70.73018646240234 13.190882682800293 70.6350326538086 13.771734237670898 C70.53987121582031 14.352585792541504 70.40265655517578 14.923046112060547 70.21765899658203 15.481121063232422 C70.03266143798828 16.039196014404297 69.79988861083984 16.584884643554688 69.51363372802734 17.116193771362305 C69.15208435058594 17.78725242614746 68.72599792480469 18.404462814331055 68.24699401855469 18.96459197998047 C67.76799011230469 19.52471923828125 67.23604583740234 20.027767181396484 66.66277313232422 20.470497131347656 C66.08949279785156 20.91322898864746 65.47488403320312 21.295644760131836 64.8305435180664 21.61450958251953 C64.18619537353516 21.93337631225586 63.512107849121094 22.188690185546875 62.819881439208984 22.377225875854492 C62.127655029296875 22.565757751464844 61.41728591918945 22.687509536743164 60.70037078857422 22.739242553710938 C59.98345184326172 22.790977478027344 59.25999450683594 22.772693634033203 58.54158401489258 22.68115997314453 C57.82317352294922 22.58962631225586 57.10980987548828 22.42484474182129 56.41310119628906 22.183574676513672 C55.71638488769531 21.942310333251953 55.03631591796875 21.62455940246582 54.38449478149414 21.227088928222656 C53.81392288208008 20.879169464111328 53.276283264160156 20.478076934814453 52.77969741821289 20.03133773803711 C52.283111572265625 19.584598541259766 51.82758331298828 19.092212677001953 51.421234130859375 18.561702728271484 C51.01066589355469 18.02568244934082 50.650882720947266 17.451356887817383 50.347503662109375 16.84866714477539 C50.04412841796875 16.245975494384766 49.79716110229492 15.614920616149902 49.612220764160156 14.96544361114502 C49.41814422607422 14.283864974975586 49.29245376586914 13.583539962768555 49.23548126220703 12.877620697021484 C49.17850875854492 12.171701431274414 49.19025421142578 11.460188865661621 49.27104568481445 10.756234169006348 C49.35089874267578 10.060449600219727 49.499717712402344 9.373579025268555 49.71347427368164 8.70754623413086 C49.9272346496582 8.041513442993164 50.20594024658203 7.39631986618042 50.54557418823242 6.78388786315918 C50.86736297607422 6.203630447387695 51.238441467285156 5.666511535644531 51.65257263183594 5.169857501983643 C52.066707611083984 4.6732025146484375 52.523895263671875 4.217012405395508 53.017913818359375 3.798611640930176 C53.51192855834961 3.3802099227905273 54.04276657104492 2.9995975494384766 54.60420227050781 2.654099464416504 L55.68335723876953 4.523279666900635 L56.76251983642578 6.392459869384766 L57.841678619384766 8.261639595031738 L58.920841217041016 10.130820274353027 L60.0 12.0 L62.15999984741211 12.0 L64.31999969482422 12.0 L66.47999572753906 12.0 L68.63999938964844 12.0 L70.80000305175781 12.0\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M70.6500015258789 12.0 L70.6500015258789 12.0 C70.63420104980469 12.544978141784668 70.58903503417969 13.082512855529785 70.50898742675781 13.61170482635498 C70.42893981933594 14.140896797180176 70.31400299072266 14.6617431640625 70.15866088867188 15.173345565795898 C70.0033187866211 15.68494987487793 69.80757141113281 16.187305450439453 69.56588745117188 16.679519653320312 C69.24665832519531 17.329681396484375 68.8660888671875 17.933643341064453 68.43433380126953 18.487796783447266 C68.00257873535156 19.041950225830078 67.5196304321289 19.546293258666992 66.99563598632812 19.997220993041992 C66.47163391113281 20.44814682006836 65.90658569335938 20.845661163330078 65.31062316894531 21.18614959716797 C64.71466064453125 21.52663803100586 64.0877914428711 21.810108184814453 63.44015121459961 22.032941818237305 C62.792510986328125 22.255779266357422 62.12409973144531 22.417984008789062 61.4450569152832 22.515953063964844 C60.76601791381836 22.613924026489258 60.07634735107422 22.647655487060547 59.38618469238281 22.613544464111328 C58.69602584838867 22.579431533813477 58.00537872314453 22.47747802734375 57.324378967285156 22.30406951904297 C56.64338302612305 22.13066291809082 55.97203826904297 21.885805130004883 55.32048034667969 21.56589126586914 C54.794029235839844 21.30739974975586 54.28944396972656 21.00505828857422 53.812808990478516 20.663673400878906 C53.33617401123047 20.322284698486328 52.887481689453125 19.941856384277344 52.47281265258789 19.52718734741211 C51.98833084106445 19.04270362854004 51.550804138183594 18.511795043945312 51.16759490966797 17.944255828857422 C50.78438186645508 17.3767147064209 50.455482482910156 16.772541046142578 50.18824005126953 16.141521453857422 C49.91143035888672 15.48790168762207 49.70186996459961 14.807384490966797 49.5615119934082 14.11284065246582 C49.4211540222168 13.418295860290527 49.349998474121094 12.709726333618164 49.349998474121094 12.0 C49.349998474121094 11.290276527404785 49.4211540222168 10.581705093383789 49.5615119934082 9.88715934753418 C49.70186996459961 9.192614555358887 49.91143035888672 8.512096405029297 50.18824005126953 7.858476161956787 C50.455482482910156 7.2274580001831055 50.78438186645508 6.623283863067627 51.16759490966797 6.0557427406311035 C51.550804138183594 5.488202095031738 51.98833084106445 4.9572954177856445 52.47281265258789 4.472812175750732 C52.887481689453125 4.058143138885498 53.33617401123047 3.677713394165039 53.812808990478516 3.33632755279541 C54.28944778442383 2.9949417114257812 54.794029235839844 2.6926002502441406 55.32048034667969 2.434109687805176 C55.97203826904297 2.114194869995117 56.64338302612305 1.8693370819091797 57.32438278198242 1.6959295272827148 C58.00537872314453 1.5225229263305664 58.69602966308594 1.420567512512207 59.38618850708008 1.3864555358886719 C60.07634735107422 1.3523445129394531 60.76601791381836 1.3860759735107422 61.44506072998047 1.4840450286865234 C62.12409973144531 1.582015037536621 62.792510986328125 1.7442207336425781 63.44015121459961 1.9670581817626953 C64.0877914428711 2.1898937225341797 64.71466064453125 2.473360061645508 65.31062316894531 2.8138484954833984 C65.90658569335938 3.1543378829956055 66.47163391113281 3.5518503189086914 66.99563598632812 4.00277853012085 C67.5196304321289 4.45370626449585 68.00257873535156 4.95805025100708 68.43433380126953 5.512202739715576 C68.8660888671875 6.066356182098389 69.24665832519531 6.670317649841309 69.56588745117188 7.320480823516846 C69.80757141113281 7.8126935958862305 70.0033187866211 8.315052032470703 70.15866088867188 8.826654434204102 C70.31400299072266 9.3382568359375 70.42893981933594 9.859103202819824 70.50898742675781 10.38829517364502 C70.58903503417969 10.917486190795898 70.63420104980469 11.455020904541016 70.6500015258789 12.0 L70.6500015258789 12.0\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M70.6488037109375 12.149999618530273 L70.6488037109375 12.149999618530273 C70.62297821044922 12.755365371704102 70.55943298339844 13.351300239562988 70.45247650146484 13.935590744018555 C70.34552001953125 14.519881248474121 70.19513702392578 15.092530250549316 69.99565124511719 15.651322364807129 C69.7961654663086 16.210113525390625 69.54756927490234 16.755048751831055 69.24417114257812 17.28391456604004 C68.88594055175781 17.908357620239258 68.47019958496094 18.483491897583008 68.00709533691406 19.006362915039062 C67.54398345947266 19.529232025146484 67.03350830078125 19.999841690063477 66.48582458496094 20.415237426757812 C65.93812561035156 20.830631256103516 65.35321807861328 21.190811157226562 64.74122619628906 21.492820739746094 C64.12924194335938 21.79483413696289 63.49018096923828 22.038681030273438 62.834190368652344 22.22140884399414 C62.17819595336914 22.404136657714844 61.50527572631836 22.525745391845703 60.825565338134766 22.583282470703125 C60.14585876464844 22.640823364257812 59.45936584472656 22.634288787841797 58.77623748779297 22.560731887817383 C58.093101501464844 22.48717498779297 57.413330078125 22.346599578857422 56.74706268310547 22.13604736328125 C56.08079528808594 21.925493240356445 55.42803192138672 21.64496612548828 54.798919677734375 21.29151153564453 C54.20325469970703 20.956851959228516 53.640541076660156 20.564613342285156 53.11981201171875 20.122859954833984 C52.599082946777344 19.681106567382812 52.120338439941406 19.189838409423828 51.692623138427734 18.65711212158203 C51.26126480102539 18.119850158691406 50.88241958618164 17.54103660583496 50.56251525878906 16.931339263916016 C50.24261474609375 16.321640014648438 49.98165512084961 15.681058883666992 49.78606033325195 15.02026081085205 C49.58574676513672 14.343511581420898 49.453853607177734 13.646895408630371 49.391632080078125 12.944112777709961 C49.329410552978516 12.241328239440918 49.33685302734375 11.532376289367676 49.41520309448242 10.83095645904541 C49.47209548950195 10.321630477905273 49.56659698486328 9.817052841186523 49.696781158447266 9.321946144104004 C49.82696533203125 8.826839447021484 49.99284362792969 8.341202735900879 50.19248962402344 7.869757175445557 C50.39213562011719 7.398311138153076 50.62555694580078 6.9410552978515625 50.89083480834961 6.502710342407227 C51.196205139160156 5.99811315536499 51.539581298828125 5.530083656311035 51.916683197021484 5.0953450202941895 C52.293785095214844 4.6606059074401855 52.704620361328125 4.259158134460449 53.14491271972656 3.887725830078125 C53.585205078125 3.516293525695801 54.05495834350586 3.174877166748047 54.54990005493164 2.8601999282836914 L55.622581481933594 4.718160152435303 L56.69525909423828 6.576119899749756 L57.767940521240234 8.434080123901367 L58.84062194824219 10.29203987121582 L59.913299560546875 12.149999618530273 L62.060401916503906 12.149999618530273 L64.20750427246094 12.149999618530273 L66.35459899902344 12.149999618530273 L68.50170135498047 12.149999618530273 L70.6488037109375 12.149999618530273\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M70.5 12.0 L70.5 12.0 C70.48442077636719 12.537299156188965 70.43989562988281 13.067259788513184 70.36096954345703 13.588993072509766 C70.28204345703125 14.110725402832031 70.16873168945312 14.62423324584961 70.01557159423828 15.12862491607666 C69.86241149902344 15.633017539978027 69.66941833496094 16.1282958984375 69.43114471435547 16.613571166992188 C69.11640167236328 17.254573822021484 68.74119567871094 17.850027084350586 68.31552124023438 18.396373748779297 C67.88984680175781 18.942720413208008 67.41370391845703 19.43996238708496 66.89708709716797 19.884540557861328 C66.3804702758789 20.329120635986328 65.82337951660156 20.72103500366211 65.23582458496094 21.056732177734375 C64.64825439453125 21.39242935180664 64.03022003173828 21.67190933227539 63.39170455932617 21.89160919189453 C62.75318908691406 22.111310958862305 62.09419631958008 22.271236419677734 61.42472457885742 22.367828369140625 C60.755252838134766 22.464420318603516 60.07529830932617 22.4976806640625 59.394859313964844 22.46405029296875 C58.71442413330078 22.430419921875 58.03350830078125 22.329898834228516 57.36210250854492 22.158935546875 C56.690696716308594 21.98796844482422 56.02880859375 21.746559143066406 55.38642883300781 21.431142807006836 C54.86738967895508 21.176288604736328 54.36991500854492 20.878204345703125 53.89999008178711 20.541622161865234 C53.4300651550293 20.20504379272461 52.987693786621094 19.82996940612793 52.57886505126953 19.421138763427734 C52.10120391845703 18.943477630615234 51.669837951660156 18.420045852661133 51.29201889038086 17.860498428344727 C50.91419982910156 17.300949096679688 50.589927673339844 16.705284118652344 50.326446533203125 16.083152770996094 C50.053531646728516 15.438745498657227 49.846920013427734 14.767818450927734 49.70853805541992 14.083063125610352 C49.570152282714844 13.398306846618652 49.5 12.699721336364746 49.5 12.0 C49.5 11.300275802612305 49.57015609741211 10.601691246032715 49.70853805541992 9.916934967041016 C49.846923828125 9.232178688049316 50.05353546142578 8.561251640319824 50.326446533203125 7.916845321655273 C50.589927673339844 7.294714450836182 50.91419982910156 6.699049472808838 51.29201889038086 6.139501571655273 C51.669837951660156 5.579953670501709 52.101200103759766 5.056522846221924 52.578861236572266 4.578862190246582 C52.98768997192383 4.170032978057861 53.4300651550293 3.7949581146240234 53.89999008178711 3.458376884460449 C54.36991500854492 3.1217966079711914 54.867393493652344 2.823709487915039 55.38642883300781 2.5688562393188477 C56.02880859375 2.25344181060791 56.69070053100586 2.0120296478271484 57.36210250854492 1.8410654067993164 C58.03350830078125 1.670100212097168 58.71442794799805 1.5695810317993164 59.39486312866211 1.5359516143798828 C60.07529830932617 1.5023202896118164 60.755252838134766 1.5355806350708008 61.42472457885742 1.6321735382080078 C62.09419631958008 1.7287654876708984 62.75318908691406 1.8886909484863281 63.39170455932617 2.1083927154541016 C64.03022003173828 2.328094482421875 64.64825439453125 2.607571601867676 65.23582458496094 2.943267822265625 C65.82337951660156 3.278964042663574 66.3804702758789 3.6708812713623047 66.89708709716797 4.115458965301514 C67.41370391845703 4.560037612915039 67.88984680175781 5.057279109954834 68.31552124023438 5.603626251220703 C68.74119567871094 6.149973392486572 69.11640930175781 6.745426654815674 69.43114471435547 7.3864288330078125 C69.66941833496094 7.8717041015625 69.86241149902344 8.366981506347656 70.01557159423828 8.871374130249023 C70.16873168945312 9.37576675415039 70.28204345703125 9.889273643493652 70.36096954345703 10.411006927490234 C70.43989562988281 10.932741165161133 70.48442077636719 11.462700843811035 70.5 12.0 L70.5 12.0\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M70.49580383300781 12.300000190734863 L70.49580383300781 12.300000190734863 C70.46434020996094 12.844749450683594 70.40314483642578 13.38099479675293 70.3067398071289 13.907636642456055 C70.21033477783203 14.434276580810547 70.0787124633789 14.951310157775879 69.9063949584961 15.457635879516602 C69.73407745361328 15.963960647583008 69.52106475830078 16.459579467773438 69.26187133789062 16.943384170532227 C68.93758392333984 17.548694610595703 68.55355834960938 18.12134552001953 68.11811065673828 18.65180015563965 C67.68266296386719 19.182254791259766 67.1957778930664 19.670515060424805 66.66576385498047 20.107044219970703 C66.20899963378906 20.483245849609375 65.72063446044922 20.82076644897461 65.20751190185547 21.11509132385254 C64.69439697265625 21.40941619873047 64.15652465820312 21.660539627075195 63.600746154785156 21.86394691467285 C62.89998245239258 22.120418548583984 62.18724822998047 22.294525146484375 61.473182678222656 22.391679763793945 C60.759117126464844 22.488834381103516 60.043724060058594 22.50904083251953 59.33762741088867 22.457712173461914 C58.631534576416016 22.406383514404297 57.93474197387695 22.283519744873047 57.25789260864258 22.094533920288086 C56.58103942871094 21.90555191040039 55.92412567138672 21.65044593811035 55.297786712646484 21.334640502929688 C54.67144775390625 21.018829345703125 54.075679779052734 20.642318725585938 53.52112579345703 20.21051597595215 C52.96656799316406 19.77871322631836 52.453224182128906 19.291622161865234 51.99171829223633 18.754657745361328 C51.53022003173828 18.21769142150879 51.12055969238281 17.630849838256836 50.77338409423828 16.999549865722656 C50.42620849609375 16.36825180053711 50.141510009765625 15.69249153137207 49.929927825927734 14.977688789367676 C49.73020553588867 14.302947044372559 49.59947967529297 13.608194351196289 49.53901672363281 12.907378196716309 C49.478546142578125 12.206562042236328 49.48833465576172 11.499685287475586 49.56964111328125 10.800694465637207 C49.64940643310547 10.114927291870117 49.79829406738281 9.438016891479492 50.011566162109375 8.781991958618164 C50.22483444213867 8.125967025756836 50.50248336791992 7.490827560424805 50.83976364135742 6.888599872589111 C51.13555908203125 6.360451698303223 51.472957611083984 5.870121955871582 51.847206115722656 5.414330959320068 C52.221458435058594 4.958540439605713 52.63255310058594 4.537288188934326 53.07573699951172 4.147293567657471 C53.518924713134766 3.757298469543457 53.994197845458984 3.3985605239868164 54.49679946899414 3.0677995681762695 L55.56282043457031 4.914239883422852 L56.62883758544922 6.760679244995117 L57.694862365722656 8.607120513916016 L58.76087951660156 10.453559875488281 L59.826900482177734 12.300000190734863 L61.96067810058594 12.300000190734863 L64.0944595336914 12.300000190734863 L66.22824096679688 12.300000190734863 L68.36202239990234 12.300000190734863 L70.49580383300781 12.300000190734863\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M60.0 1.1999998092651367 L60.0 1.1999998092651367 C60.599639892578125 1.2167272567749023 61.19088363647461 1.269815444946289 61.77173614501953 1.364969253540039 C62.35258483886719 1.4601240158081055 62.92304992675781 1.5973453521728516 63.48112106323242 1.7823429107666016 C64.03919982910156 1.9673395156860352 64.58488464355469 2.2001113891601562 65.11619567871094 2.486368179321289 C65.73907470703125 2.8219614028930664 66.3167724609375 3.214078903198242 66.84613037109375 3.653360366821289 C67.37549591064453 4.0926408767700195 67.85652160644531 4.5790863037109375 68.28604888916016 5.103334426879883 C68.715576171875 5.627582550048828 69.09361267089844 6.189634323120117 69.4169921875 6.780128002166748 C69.74037170410156 7.370622158050537 70.00909423828125 7.989558219909668 70.22000122070312 8.627575874328613 C70.43092346191406 9.265593528747559 70.58402252197266 9.92269229888916 70.6761474609375 10.589513778686523 C70.76828002929688 11.256333351135254 70.79944610595703 11.93287467956543 70.7664794921875 12.60977554321289 C70.73351287841797 13.286677360534668 70.63641357421875 13.96393871307373 70.47203826904297 14.63219928741455 C70.30766296386719 15.300459861755371 70.07599639892578 15.95971965789795 69.77388000488281 16.600618362426758 C69.48828125 17.206493377685547 69.1457290649414 17.78491973876953 68.75309753417969 18.327116012573242 C68.3604736328125 18.86931037902832 67.91777801513672 19.375272750854492 67.43190002441406 19.836225509643555 C66.9450454711914 20.298107147216797 66.41532897949219 20.714290618896484 65.85191345214844 21.078250885009766 C65.28849792480469 21.442209243774414 64.69137573242188 21.753944396972656 64.06969451904297 22.00693130493164 C63.4249267578125 22.26931381225586 62.755496978759766 22.46758270263672 62.073265075683594 22.60025405883789 C61.391029357910156 22.732925415039062 60.69599151611328 22.799999237060547 60.0 22.799999237060547 C59.30400848388672 22.799999237060547 58.608970642089844 22.732925415039062 57.92673873901367 22.60025405883789 C57.244503021240234 22.46758270263672 56.5750732421875 22.269319534301758 55.93030548095703 22.006935119628906 C55.308624267578125 21.753952026367188 54.71150207519531 21.442214965820312 54.14808654785156 21.07825469970703 C53.58467102050781 20.714296340942383 53.054962158203125 20.298114776611328 52.56809997558594 19.836231231689453 C52.08222579956055 19.375282287597656 51.6395263671875 18.86931800842285 51.24690246582031 18.32712173461914 C50.85427474975586 17.78492546081543 50.51171875 17.206499099731445 50.22611999511719 16.600624084472656 C49.92401123046875 15.959724426269531 49.692344665527344 15.300463676452637 49.5279655456543 14.632203102111816 C49.363582611083984 13.963942527770996 49.2664909362793 13.286680221557617 49.233524322509766 12.609779357910156 C49.200557708740234 11.932878494262695 49.231719970703125 11.256336212158203 49.323848724365234 10.589515686035156 C49.415977478027344 9.922696113586426 49.5690803527832 9.265596389770508 49.779991149902344 8.627578735351562 C49.99090576171875 7.989560127258301 50.25962829589844 7.370624542236328 50.5830078125 6.780130386352539 C50.9063835144043 6.18963623046875 51.28441619873047 5.627584934234619 51.71394729614258 5.103336811065674 C52.14347457885742 4.57908821105957 52.62449645996094 4.092642784118652 53.15386199951172 3.6533613204956055 C53.68321990966797 3.2140798568725586 54.260921478271484 2.8219614028930664 54.88380432128906 2.486368179321289 C55.41511154174805 2.2001113891601562 55.96080017089844 1.9673385620117188 56.51887512207031 1.7823410034179688 C57.07695007324219 1.5973453521728516 57.64741134643555 1.4601240158081055 58.22826385498047 1.3649682998657227 C58.80911636352539 1.269815444946289 59.400360107421875 1.2167282104492188 60.0 1.1999998092651367 L60.0 1.1999998092651367\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/></svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "make_grid([clock, clock2, clock3]).draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Manipulating individual paths"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"200px\" viewBox=\"0.0 0.0 24.0 24.0\" width=\"200px\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.40000057220459 2.40000057220459 L4.559999942779541 2.40000057220459 L6.720000267028809 2.40000057220459 C7.499027729034424 2.9835729598999023 7.868569374084473 3.72873592376709 8.640000343322754 4.320000171661377 L11.880000114440918 4.320000171661377 L15.119999885559082 4.320000171661377 L18.360000610351562 4.320000171661377 L21.599998474121094 4.320000171661377 C22.018123626708984 4.493124961853027 22.38687515258789 4.861876010894775 22.559999465942383 5.28000020980835 L22.560001373291016 8.352001190185547 L22.559999465942383 11.42400074005127 L22.559999465942383 14.496000289916992 L22.560001373291016 17.56800079345703 L22.559999465942383 20.639999389648438 C22.38687515258789 21.058122634887695 22.018123626708984 21.426876068115234 21.599998474121094 21.599998474121094 L18.399999618530273 21.599998474121094 L15.199999809265137 21.599998474121094 L12.0 21.599998474121094 L8.800000190734863 21.599998474121094 L5.599999904632568 21.599998474121094 L2.40000057220459 21.599998474121094 C1.9818763732910156 21.426876068115234 1.6131258010864258 21.058122634887695 1.4400005340576172 20.639999389648438 L1.4400005340576172 17.184001922607422 L1.4400005340576172 13.72800064086914 L1.4400005340576172 10.272001266479492 L1.4400005340576172 6.816000461578369 L1.4400005340576172 3.3600006103515625 C1.6131258010864258 2.9418764114379883 1.9818763732910156 2.5731258392333984 2.40000057220459 2.40000057220459 L2.40000057220459 2.40000057220459\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M17.760000228881836 9.600000381469727 L17.760000228881836 9.600000381469727 C18.3551025390625 9.718419075012207 18.8338565826416 9.869729042053223 19.090347290039062 10.488951683044434 C19.47652816772461 11.421273231506348 18.76919937133789 12.479999542236328 17.760000228881836 12.479999542236328 C16.75080108642578 12.479999542236328 16.04347038269043 11.42127513885498 16.42965316772461 10.488951683044434 C16.686141967773438 9.869728088378906 17.164894104003906 9.718420028686523 17.760000228881836 9.600000381469727 L17.760000228881836 9.600000381469727\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M22.559999465942383 12.479999542236328 L22.559999465942383 10.079999923706055 L22.559999465942383 7.680000305175781 C22.38687515258789 7.261876106262207 22.018123626708984 6.893125057220459 21.599998474121094 6.720000267028809 L18.399999618530273 6.720000267028809 L15.199999809265137 6.720000743865967 L12.0 6.720000267028809 L8.800000190734863 6.720000743865967 L5.599999904632568 6.720000267028809 L2.40000057220459 6.720000267028809 C1.9818763732910156 6.893125057220459 1.6131258010864258 7.261876106262207 1.4400005340576172 7.680000305175781 L1.4400005340576172 10.079999923706055 L1.4400005340576172 12.479999542236328\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M13.732800483703613 16.507200241088867 L11.666399955749512 14.253600120544434 L9.600000381469727 12.0 L7.840000629425049 13.920001029968262 L6.080000400543213 15.84000015258789 L4.320000171661377 17.760000228881836\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M19.68000030517578 18.239999771118164 L17.760000228881836 16.31999969482422 L15.84000015258789 14.399999618530273 L13.920000076293945 16.31999969482422 L12.0 18.239999771118164\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/></svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "canvas = SVG.load_svg(\"docs/imgs/canvas.svg\")\n",
    "canvas.draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let us scale the mountain on the right and translate the sun to the left."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"200px\" viewBox=\"0.0 0.0 24.0 24.0\" width=\"200px\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M21.600000381469727 19.200000762939453 L18.720001220703125 16.31999969482422 L15.84000015258789 13.4399995803833 L12.960000038146973 16.31999969482422 L10.079999923706055 19.200000762939453\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/></svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mountain2 = canvas[4]\n",
    "center = mountain2.bbox().center\n",
    "mountain2.translate(-center).scale(1.5).translate(center).draw()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"200px\" viewBox=\"0.0 0.0 24.0 24.0\" width=\"200px\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7.760000228881836 9.600000381469727 L7.760000228881836 9.600000381469727 C8.3551025390625 9.718419075012207 8.833856582641602 9.869729042053223 9.090347290039062 10.488951683044434 C9.47652816772461 11.421273231506348 8.76919937133789 12.479999542236328 7.760000228881836 12.479999542236328 C6.750801086425781 12.479999542236328 6.04347038269043 11.42127513885498 6.429653167724609 10.488951683044434 C6.6861419677734375 9.869728088378906 7.164894104003906 9.718420028686523 7.760000228881836 9.600000381469727 L7.760000228881836 9.600000381469727\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/></svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sun = canvas[1]\n",
    "sun.translate(Point(-10, 0)).draw()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"200px\" viewBox=\"0.0 0.0 24.0 24.0\" width=\"200px\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.40000057220459 2.40000057220459 L4.559999942779541 2.40000057220459 L6.720000267028809 2.40000057220459 C7.499027729034424 2.9835729598999023 7.868569374084473 3.72873592376709 8.640000343322754 4.320000171661377 L11.880000114440918 4.320000171661377 L15.119999885559082 4.320000171661377 L18.360000610351562 4.320000171661377 L21.599998474121094 4.320000171661377 C22.018123626708984 4.493124961853027 22.38687515258789 4.861876010894775 22.559999465942383 5.28000020980835 L22.560001373291016 8.352001190185547 L22.559999465942383 11.42400074005127 L22.559999465942383 14.496000289916992 L22.560001373291016 17.56800079345703 L22.559999465942383 20.639999389648438 C22.38687515258789 21.058122634887695 22.018123626708984 21.426876068115234 21.599998474121094 21.599998474121094 L18.399999618530273 21.599998474121094 L15.199999809265137 21.599998474121094 L12.0 21.599998474121094 L8.800000190734863 21.599998474121094 L5.599999904632568 21.599998474121094 L2.40000057220459 21.599998474121094 C1.9818763732910156 21.426876068115234 1.6131258010864258 21.058122634887695 1.4400005340576172 20.639999389648438 L1.4400005340576172 17.184001922607422 L1.4400005340576172 13.72800064086914 L1.4400005340576172 10.272001266479492 L1.4400005340576172 6.816000461578369 L1.4400005340576172 3.3600006103515625 C1.6131258010864258 2.9418764114379883 1.9818763732910156 2.5731258392333984 2.40000057220459 2.40000057220459 L2.40000057220459 2.40000057220459\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M7.760000228881836 9.600000381469727 L7.760000228881836 9.600000381469727 C8.3551025390625 9.718419075012207 8.833856582641602 9.869729042053223 9.090347290039062 10.488951683044434 C9.47652816772461 11.421273231506348 8.76919937133789 12.479999542236328 7.760000228881836 12.479999542236328 C6.750801086425781 12.479999542236328 6.04347038269043 11.42127513885498 6.429653167724609 10.488951683044434 C6.6861419677734375 9.869728088378906 7.164894104003906 9.718420028686523 7.760000228881836 9.600000381469727 L7.760000228881836 9.600000381469727\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M22.559999465942383 12.479999542236328 L22.559999465942383 10.079999923706055 L22.559999465942383 7.680000305175781 C22.38687515258789 7.261876106262207 22.018123626708984 6.893125057220459 21.599998474121094 6.720000267028809 L18.399999618530273 6.720000267028809 L15.199999809265137 6.720000743865967 L12.0 6.720000267028809 L8.800000190734863 6.720000743865967 L5.599999904632568 6.720000267028809 L2.40000057220459 6.720000267028809 C1.9818763732910156 6.893125057220459 1.6131258010864258 7.261876106262207 1.4400005340576172 7.680000305175781 L1.4400005340576172 10.079999923706055 L1.4400005340576172 12.479999542236328\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M13.732800483703613 16.507200241088867 L11.666399955749512 14.253600120544434 L9.600000381469727 12.0 L7.840000629425049 13.920001029968262 L6.080000400543213 15.84000015258789 L4.320000171661377 17.760000228881836\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/>\n",
       "<path d=\"M21.600000381469727 19.200000762939453 L18.720001220703125 16.31999969482422 L15.84000015258789 13.4399995803833 L12.960000038146973 16.31999969482422 L10.079999923706055 19.200000762939453\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/></svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "canvas.draw()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Conversion to PyTorch tensor-format"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg height=\"200px\" viewBox=\"0.0 0.0 24.0 24.0\" width=\"200px\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12.0 3.514719009399414 L20.485280990600586 12.0 L12.0 20.485280990600586 L3.514719009399414 12.0 L12.0 3.514719009399414\" fill=\"none\" filling=\"0\" stroke=\"black\" stroke-opacity=\"1.0\" stroke-width=\".3\"/></svg>"
      ],
      "text/plain": [
       "<IPython.core.display.SVG object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "square = SVG.unit_square().normalize().zoom(0.5).rotate(Angle(45))\n",
    "square.draw()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "tensor([[  0.,  -1.,  -1.,  -1.,  -1.,  -1., 128.,  37.,  -1.,  -1.,  -1.,  -1.,\n",
       "         128.,  37.],\n",
       "        [  1.,  -1.,  -1.,  -1.,  -1.,  -1., 128.,  37.,  -1.,  -1.,  -1.,  -1.,\n",
       "         219., 128.],\n",
       "        [  1.,  -1.,  -1.,  -1.,  -1.,  -1., 219., 128.,  -1.,  -1.,  -1.,  -1.,\n",
       "         128., 219.],\n",
       "        [  1.,  -1.,  -1.,  -1.,  -1.,  -1., 128., 219.,  -1.,  -1.,  -1.,  -1.,\n",
       "          37., 128.],\n",
       "        [  1.,  -1.,  -1.,  -1.,  -1.,  -1.,  37., 128.,  -1.,  -1.,  -1.,  -1.,\n",
       "         128.,  37.]])"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t = square.copy().numericalize().to_tensor()\n",
    "t"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`to_tensor` converts the `SVG` instance to a PyTorch tensor of shape $N_C \\times (1 + 13)$, representing the $N_C$ commands that constitute the SVG path. If the SVG has more than one path, commands will either be concatenated or `to_tensor` will output a list of tensors.\n",
    "- the first row represents the command type (`m`, `l`, `c`, `a`, `EOS`, `SOS` or `z`)\n",
    "- the 13 subsequent rows represent respectively: $r_x$, $r_y$, $\\varphi$, $f_A$, $f_S$, $x_1$, $y_1$, $q_{x1}$, $q_{y1}$, $q_{x2}$, $q_{y2}$, $x_2$ and $y_2$. Note that the first 5 rows are for a potential future compatiblity with elliptical arc commands, but aren't used in general.\n",
    "\n",
    "As described in the paper, unused arguments are encoded as -1.\n",
    "\n",
    "After numericalization, coordinates are between 0 and 255."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "from deepsvg.difflib.tensor import SVGTensor\n",
    "tensor = SVGTensor.from_data(t)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`SVGTensor` is a wrapper around this PyTorch raw data, and allows for easy padding/EOS/SOS processing as well as differentiable sampling of points along the path contours. More details in the `notebooks/svgtensor.ipynb` notebook!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  },
  "pycharm": {
   "stem_cell": {
    "cell_type": "raw",
    "metadata": {
     "collapsed": false
    },
    "source": []
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
